假设我有这个CSV文件:
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 Drill正在考虑将NULL
作为字符串。
即使我用空字符串(sed -i 's/NULL//g' foo.csv
)替换它,Apache Drill仍然认为这些值不为空。
有没有办法让它考虑NULL
(或空值)......好吧...... null ?
我使用的是最新版本:1.9.0。
答案 0 :(得分:1)
绝对可以!