Hive-Cli 导出
示例: 将 Hive 中 dwd.dim_machine
表导出到本地 /opt/software/test.csv
文件中,添加表头。
hive -e "set hive.cli.print.header=true;select * from dwd.dim_machine;" | tr "\t" "," > /opt/software/test.csv
-
-e
:在命令行中直接执行 Hive 查询 -
tr
:将"\t"
替换成逗号","
结果:
通过 Spark-Shell 导出
前提:需要配置好 Spark On Hive 连接。
示例: 将 Hive 中 dwd.dim_machine
表导出到本地 /opt/software/test2.csv
文件中。
spark.sql("select * from dwd.dim_machine").write.csv("file:///opt/software/result")
注意: Spark-Shell 导出的是一个目录,我们需要拿到目录下的 csv
文件。
进入 result
目录,会看到如下文件:
其中后缀为 csv
的就是我们的结果文件。
按要求设置文件路径与名称:
mv part-00000-e72da482-533b-486c-a8b2-d37c6abe8eb4-c000.csv ../test2.csv
结果:
Insert 导出
直接在 Hive 界面中进行操作。
示例: 将 Hive 中 dwd.dim_machine
表导出到本地 /opt/software/test3.csv
文件中。
insert overwrite local directory '/opt/software/test'
row format delimited fields terminated by ','
select * from dwd.dim_machine;
结果:
最后,按要求改成指定路径与名称就可以啦,这里就不操作了。