hdfs导出数据到到本地,生成一整个文件


#1

insert overwrite local 写到本地文件,如何指定生成一个文件,并指定文件名称


#2

导出到本地文件系统
hive> insert overwrite local directory ‘/home/wyp/wyp’
可参考次此链接
https://blog.csdn.net/xiao_jun_0820/article/details/32328755
若问题得到解决请及时反馈,谢谢~~


#3

例如一个分桶表 table_A,分桶数为40 ,insert overwrite local directory ‘/home/wyp/wyp’ select * from table_A 执行成功之后,’/home/wyp/wyp’ 目录下也不是一个文件,是40个文件,文件名称也不是我想要的。
我的应用场景:
下游系统需要20张表的数据,需要我以文件的方式抛送过去。
传统数据库会按表生成20个文件,每个表生成一个数据文件,且文件名称为表名.dat,分隔符为 ^[。

在星换大数据平台如何实现。


#4

insert overwrite local directory ‘/home/wyp/wyp’
row format delimited fields terminated by ‘^[’ select * from table_A ;
这种方式可以把分桶表导出为一个文件吗


#5

insert overwrite 可以实现生成一个文件,但特别慢,且不支持指定文件名称,也不支持分隔符为多字符的分隔符。


#6

你的版本是多少,5.*之后得版本可以选择
工具,可以指定文件个数和大小,


#7

批量中使用。此方法不可行。
已研究出方案
1 新建外表
2 向外表插入数据
3 将HDFS上文件合并拿到本地文件服务器
hadoop fs -getmerge hdfs dir local_file


#8

:ox::ox::ox:


在线支持