我已经使用spark生成了一些分区的Parquet数据,我想知道如何将其Map到impala表。。。遗憾的是,我还没有找到任何解决办法。
Parquet地板的模式如下:
{ key: long,
value: string,
date: long }
我把它和 key
以及 date
,它在我的hdfs上提供了这样的目录:
/data/key=1/date=20170101/files.parquet
/data/key=1/date=20170102/files.parquet
/data/key=2/date=20170101/files.parquet
/data/key=2/date=20170102/files.parquet
...
你知道我如何告诉impala从这个数据集中创建一个表,其中包含相应的分区(而且不必像我读到的那样在每个分区上循环)?有可能吗?
先谢谢你
1条答案
按热度按时间svujldwt1#
假设parquet的schema是指数据集的schema,然后使用列进行分区,则实际数据集中只有key列
files.parquet
文件夹。现在你可以按以下步骤进行解决方案是使用impala外部表。
注意,在上面的语句中,必须给出数据文件夹的路径
以上两个命令将根据表的模式自动检测分区,并了解子目录中存在的Parquet文件。
现在,您可以开始查询数据了。
希望有帮助