0
Предположим, у меня есть этот CSV-файл:Как заставить Apache Drill понимать явный `NULL` в файле 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.