u011856283
你好杰米
采纳率100%
2018-03-12 07:36

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

5
已采纳

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

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • plutocracy plutocracy 3年前

    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。

    点赞 1 评论 复制链接分享
  • qq_31746265 xdrq1o 3年前

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

    点赞 评论 复制链接分享