0
は、私は、このCSVファイルがあるとします。Apacheドリルはcsvファイルで明示的な `NULL`を理解する方法を教えてください。
a,b
NULL,1
1,2
その後、私はいくつかのクエリを実行してみてください。
> SELECT * FROM dfs.`/path/to/foo.csv`;
+-------+----+
| a | b |
+-------+----+
| NULL | 1 |
| 1 | 2 |
+-------+----+
2 rows selected
> SELECT * FROM dfs.`/path/to/foo.csv` WHERE a is NULL;
+----+----+
| a | b |
+----+----+
+----+----+
No rows selected
> SELECT * FROM dfs.`/path/to/foo.csv` WHERE a is NOT NULL;
+-------+----+
| a | b |
+-------+----+
| NULL | 1 |
| 1 | 2 |
+-------+----+
2 rows selected
> SELECT * FROM dfs.`/path/to/foo.csv` WHERE a > 0;
Error: SYSTEM ERROR: NumberFormatException: NULL
Fragment 0:0
Apacheのドリルは、文字列としてNULL
検討しているようです。
空の文字列(sed -i 's/NULL//g' foo.csv
)と置き換えても、Apache Drillはそれらの値がnullではないと考えています。
NULL
(または空の値)と考えるようにする方法はありますか...よく... null?
最新のリリースバージョン:1.9.0を使用しています。