那个公司给的hive连接地址,我在我电脑上用jdbc连接的hive,我目前有一个map中有很多条数据,要往hive里面存,我发现用insert into插500条数据,插了10分钟,好慢啊,我想试一试load批量加载,然后我找到了这个语句
load data local inpath 'wyp.txt' into table wyp;
然后那么问题来了,请问使用这个load,本地文件必须和hive在一个服务器上吗,我用的centos系统,不管我把txt文件放在那里,执行语句都是找不到文件,是因为不在一个服务器上吗
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.....