从 Impala 分区Parquet表创建文本表

ubof19bj  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(320)

我有一张Parquet桌,格式如下:

.impala_insert_staging
yearmonth=2013-04
yearmonth=2013-05
yearmonth=2013-06
...
yearmonth=2016-04

每个目录下面都是我的Parquet文件。我要把它们放进我的另一张table里,那张table正好有一张table

.impala_insert_staging

文件。
请帮忙。

lfapxunr

lfapxunr1#

我找到的最好办法就是把文件放在本地 sqoop 将它们备份到文本表中。
为了拉下 parquet table,我执行了以下操作:

impala-shell -i <ip-addr> -B -q "use default; select * from <table>" -o filename '--output_delimiter=\x1A'

不幸的是,这增加了 yearmonth 值作为表中的另一列。所以我要么进入我的750gb文件 sed/awk 找出最后一列或使用 mysqlimport (因为我也在使用mysql)只导入我感兴趣的列。
最后,我将把数据整理到一个新的文本表中。

sqoop import --connect jdbc:mysql://<mysqlip> --table <mysql_table> -uroot -p<pass> --hive-import --hive-table <new_db_text>

相关问题