将Hive数据导出到文件的最佳方法是什么,以便稍后可以使用Sqoop导出它们?我有一些hive表,但我想加入它们并以这种方式将它们导出到文件中我可以使用Sqoop将它们导出到另一个系统。
我可以使用类似的东西:
INSERT OVERWRITE LOCAL DIRECTORY $fileLocation
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
SELECT * from ...... INNER JOIN......
所以我的问题是,有更好的方法吗?多少Avro可以加快这个过程?因为我需要稍后使用Sqoop,TEXT& AVRO只是我的选择,对吧?
SET hive.exec.compress.output=true;
set avro.output.codec=snappy;
INSERT OVERWRITE LOCAL DIRECTORY $fileLocation
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
STORED AS AVRO
SELECT * FROM ..... INNER JOIN......
它肯定会压缩文件,但Sqoop需要在导出之前将其解压缩。那么这仍然是一个更好的选择吗?我应该在这里尝试其他任何选择吗?
答案 0 :(得分:0)
Sqoop可以使用--export-dir
Sqoop导出参数直接从Hive表底层的HDFS目录导出Hive数据。
您可以通过在Hive中运行此命令找到映射到Hive表的HDFS目录:
hive> DESCRIBE EXTENDED tablename;
...
...location:hdfs://path/to/the/table/data...
...