zoukankan      html  css  js  c++  java
  • hive基本语法

    创建表

    CREATE [EXTERNAL] TABLE t_lxw1234 (
      id INT,
      ip STRING COMMENT '访问者IP',
      avg_view_depth DECIMAL(5,1),
      bounce_rate DECIMAL(6,5)
    ) COMMENT 'lxw的大数据田地-lxw1234.com'
    PARTITIONED BY (day STRING)
    ROW FORMAT DELIMITED
    FIELDS TERMINATED BY ','
    MAP KEYS TERMINATED BY ':'
    STORED AS textfile
    LOCATION 'hdfs://cdh5/tmp/lxw1234/';

    EXTERNAL:表示该表为外部表,如果不指定EXTERNAL关键字,则表示内部表
    COMMENT: 为表和列添加注释。关键字PARTITIONED BY: 表示该表为分区表,分区字段为day,类型为string。

    ROW FORMAT DELIMITED: 指定表的分隔符,通常后面要与以下关键字连用
    FIELDS TERMINATED BY ',':指定每行中字段分隔符为逗号
    LINES TERMINATED BY ' ':指定行分隔符 。
    COLLECTION ITEMS TERMINATED BY ',':指定集合中元素之间的分隔符
    MAP KEYS TERMINATED BY ':' :指定数据中Map类型的Key与Value之间的分隔符
    STORED AS file_format :指定表在HDFS上的文件存储格式,
    可选的文件存储格式有:
      TEXTFILE:文本(默认值);
      SEQUENCEFILE:二进制序列文件;
      RCFILE、ORC、PARQUET:几种列式存储格式文件。
      LOCATION: 指定表在HDFS上的存储位置。

    加载数据到hive

    1、加载本地文件到hive表
      load data local inpath '/opt/datas/emp.txt' into table default.emp ;
      load data local inpath '/usr/local/app/emp.txt' into table default.emp partition (month='201805',day='31') ;
    2、加载hdfs文件到hive中
      load data inpath '/user/beifeng/hive/datas/emp.txt' overwrite into table default.emp ;
    3、加载数据覆盖表中已有的数据
      load data inpath '/user/beifeng/hive/datas/emp.txt' into table default.emp ;
    4、创建表是通过insert加载
      create table default.emp_ci like emp ;
      insert into table default.emp_ci select * from default.emp ;

    hive到文件

    1、导入数据到本地目录
      insert overwrite local directory '/opt/datas/hive_exp_emp' select * from default.emp ;
      insert overwrite local directory '/opt/datas/hive_exp_emp2'
        ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' COLLECTION ITEMS TERMINATED BY ' '
        select * from default.emp ;
    2、导出数据到HDFS中
      insert overwrite directory '/user/zhangxin/export_test' select value from test_table;
    3、hive -e "select * from default.emp ;" > /opt/datas/exp_res.txt

    执行脚本

    hive -f words.hql
    hive> source /home/hadoop/words.hql;
    hive -e "select * from db_hive.student ;"
    hive -e "show create table words;">>words.ddl

  • 相关阅读:
    中国用户mac上快速安装nodejs
    移动前端的开发痛点
    前端模块化思考
    tcpdump学习
    curl 同时发送多个请求
    apache 做http代理
    文件 FIFO队列
    mysql多表字段名重复的情况
    时间戳实现增量数据同步
    python 学习
  • 原文地址:https://www.cnblogs.com/boye169/p/14839332.html
Copyright © 2011-2022 走看看