从Impala分区镶木桌创建文本表

时间:2016-03-18 12:52:08

标签: hive impala parquet

我有一张镶木桌子,格式如下:

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

这些目录下面是我的镶木地板文件。我需要让他们进入另一张只有

的桌子
.impala_insert_staging

文件。

请帮忙。

1 个答案:

答案 0 :(得分:0)

我找到的最好的方法是在本地提取文件,然后sqoop将它们备份到文本表中。

为了拉下镶木地板,我执行了以下操作:

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

不幸的是,这会将yearmonth值添加为我表格中的另一列。所以我要么进入我的750GB文件并且sed/awk输出最后一列,要么使用mysqlimport(因为我也使用MySQL)只导入我感兴趣的列。

最后,我将数据sqoop up到一个新的文本表。

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