我有一张Parquet桌,格式如下:
.impala_insert_staging yearmonth=2013-04 yearmonth=2013-05 yearmonth=2013-06 ... yearmonth=2016-04
每个目录下面都是我的Parquet文件。我要把它们放进我的另一张table里,那张table正好有一张table
.impala_insert_staging
文件。请帮忙。
lfapxunr1#
我找到的最好办法就是把文件放在本地 sqoop 将它们备份到文本表中。为了拉下 parquet table,我执行了以下操作:
sqoop
impala-shell -i <ip-addr> -B -q "use default; select * from <table>" -o filename '--output_delimiter=\x1A'
不幸的是,这增加了 yearmonth 值作为表中的另一列。所以我要么进入我的750gb文件 sed/awk 找出最后一列或使用 mysqlimport (因为我也在使用mysql)只导入我感兴趣的列。最后,我将把数据整理到一个新的文本表中。
yearmonth
sed/awk
mysqlimport
sqoop import --connect jdbc:mysql://<mysqlip> --table <mysql_table> -uroot -p<pass> --hive-import --hive-table <new_db_text>
1条答案
按热度按时间lfapxunr1#
我找到的最好办法就是把文件放在本地
sqoop
将它们备份到文本表中。为了拉下 parquet table,我执行了以下操作:
不幸的是,这增加了
yearmonth
值作为表中的另一列。所以我要么进入我的750gb文件sed/awk
找出最后一列或使用mysqlimport
(因为我也在使用mysql)只导入我感兴趣的列。最后,我将把数据整理到一个新的文本表中。