zoukankan      html  css  js  c++  java
  • hive QL 插入语法解析

    1.insert 语法格式为:
    基本的插入语法:
    INSERT OVERWRITE TABLE tablename [PARTITON(partcol1=val1,partclo2=val2)]select_statement FROM from_statement
    insert overwrite table test_insert select * from test_table;

    对多个表进行插入操作:
    FROM fromstatte
    INSERT OVERWRITE TABLE tablename1 [PARTITON(partcol1=val1,partclo2=val2)]select_statement1
    INSERT OVERWRITE TABLE tablename2 [PARTITON(partcol1=val1,partclo2=val2)]select_statement2

    from test_table                     
    insert overwrite table test_insert1
    select key
    insert overwrite table test_insert2
    select value;

    insert的时候,from子句即可以放在select 子句后面,也可以放在 insert子句前面。
    hive不支持用insert语句一条一条的进行插入操作,也不支持update操作。数据是以load的方式加载到建立好的表中。数据一旦导入就不可以修改。

    2.通过查询将数据保存到filesystem
    INSERT OVERWRITE [LOCAL] DIRECTORY directory SELECT.... FROM .....

    导入数据到本地目录:
    insert overwrite local directory '/home/zhangxin/hive' select * from test_insert1;
    产生的文件会覆盖指定目录中的其他文件,即将目录中已经存在的文件进行删除。

    导出数据到HDFS中:
    insert overwrite directory '/user/zhangxin/export_test' select value from test_table;

    同一个查询结果可以同时插入到多个表或者多个目录中:
    from test_insert1
    insert overwrite local directory '/home/zhangxin/hive' select *
    insert overwrite directory '/user/zhangxin/export_test' select value;

  • 相关阅读:
    Linux 共享库
    使用Visual Studio(VS)开发Qt程序代码提示功能的实现(转)
    ZOJ 3469 Food Delivery(区间DP)
    POJ 2955 Brackets (区间DP)
    HDU 3555 Bomb(数位DP)
    HDU 2089 不要62(数位DP)
    UESTC 1307 windy数(数位DP)
    HDU 4352 XHXJ's LIS(数位DP)
    POJ 3252 Round Numbers(数位DP)
    HDU 2476 String painter (区间DP)
  • 原文地址:https://www.cnblogs.com/xupeizhi/p/2886750.html
Copyright © 2011-2022 走看看