【hive问题】具体怎么使用load加载本地txt文件到表里面呢

那个公司给的hive连接地址,我在我电脑上用jdbc连接的hive,我目前有一个map中有很多条数据,要往hive里面存,我发现用insert into插500条数据,插了10分钟,好慢啊,我想试一试load批量加载,然后我找到了这个语句

load data local inpath 'wyp.txt' into table wyp;

然后那么问题来了,请问使用这个load,本地文件必须和hive在一个服务器上吗,我用的centos系统,不管我把txt文件放在那里,执行语句都是找不到文件,是因为不在一个服务器上吗

2个回答

1。hive和传统关系型数据库处理逻辑不同。建议把表结构发来看看。比如表的存储格式,parttion等。
hive 插入比较慢,估计你的sql写的不好,没有考虑表结构信息。
2。load data local inpath 'wyp.txt' into table wyp; 这个语句的意思是,把表wyp的数据导出到本地路径,且默认分割符号是\u0001,如果你把local去掉就会把数据落地到hdfs上
3。本地文件没有找到,估计是你java程序执行主机和wyp.txt 不是同一个server。
4。建议数据落地到hdfs 上,java程序直接从hdfs上找。
5。目测楼主不熟悉hive和hadoop,建议阅读基本书。忘采纳。:D。

load data local inpath '/home/shixianzhi/zz.txt' (overwrite) into table ud.kd_pag.....

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐