我在azure blob存储上创建了一个在HD Insight上使用Apache Spark的镶木地板文件结构。 这是结构:
/root
/sitename=www.site1.com
/datekey=20160101
log-01-file.parquet
/sitename=www.site2.com
/datekey=29160192
我们希望使用Apache Drill来运行这个镶木地板结构的查询,但我们发现了一些问题。
运行此查询时
SELECT datekey FROM azure.root.`./root` WHERE sitename='www.mysite.com' GROUP BY datekey
我们收到此错误
"org.apache.drill.common.exceptions.UserRemoteException: SYSTEM ERROR: NumberFormatException: www.trovaprezzi.it Fragment 2:2"
可能是错误的原因是什么?
同样,当运行没有WHERE子句的查询时,似乎分区键被视为空值。
SELECT sitename, COUNT(*) as N FROM azure.root.`./root` GROUP BY sitename
|sitename|N
|NULL |100000|
有没有人尝试过这个问题? 任何帮助都将非常感激。
由于 罗布
答案 0 :(得分:0)
HDInsight今天不支持Drill。 Hive(在Tez上)也应该能够利用Parquet格式,也许你可以试试呢?
答案 1 :(得分:0)
在写这篇文章的时刻,1.6似乎以这种方式运作。
无论您使用什么分区方案,DRILL都会使用:dir0,dir1等等来对目录结构进行校验。
例如,如果我们按主机名和日期对数据进行分区,则获取
| DIR0 | DIR1 | ... |主机1 | 20160101 | .... |主机2 | 20160101 | ...