gpt4 book ai didi

hive - 如何将 hive 查询结果导出到单个本地文件?

转载 作者:行者123 更新时间:2023-12-04 08:51:43 27 4
gpt4 key购买 nike

我想使用管道分隔符将 hive 查询结果导出到单个本地文件。
Hive 查询包含 order by 子句。
我尝试了以下解决方案。
解决方案1:

hive -e 'insert overwrite local directory '/problem1/solution' fields terminated by '|' select * from table_name order by rec_date'
此解决方案正在创建多个文件。合并文件后,它失去了数据顺序。
解决方案2:
beeline -u 'jdbc:hive2://server_ip:10000/db_name' --silent --outputformat=dsv --delimiterForDSV='|' -e 'select * from table_name order by rec_date' > /problem1/solution
此解决方案正在创建单个文件,但顶部有 2 行,底部有 2 行。
我正在使用 删除空行sed 命令。这需要很长时间。
有没有其他有效的方法来实现这一目标?

最佳答案

尝试在单个 reducer 上执行 ORDER BY 的这些设置:

set hive.optimize.sampling.orderby=false; --disable parallel ORDER BY
或者尝试手动设置 reducer 的数量:
set mapred.reduce.tasks=1;

关于hive - 如何将 hive 查询结果导出到单个本地文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64068082/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com