• hive 建表与 load语法


    hive 建表语法

    内部表:

    create table fzname
    (id int,name string,age int,tel string)
    ROW FORMAT DELIMITED
    FIELDS TERMINATED BY ','
    STORED AS TEXTFILE;
    • 1
    • 2
    • 3
    • 4
    • 5

    外部表:

    create external table fz_external_name(id int,name string,age int,tel string)
    ROW FORMAT DELIMITED
    FIELDS TERMINATED BY ','
    STORED AS TEXTFILE
    location '/home/sendi/test.txt';
    • 1
    • 2
    • 3
    • 4
    • 5

    分区表:

    create table fzname
    (id int,name string,age int,tel string)
    ROW FORMAT DELIMITED
    FIELDS TERMINATED BY ','
    PARTITIONED BY (month string)
    STORED AS TEXTFILE;
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    建表语法

    数据

    123,aa,2,0,hangzhou
    245,bb,3,1,beijing
    789,cc,2,0,shanghai
    201,dd,3,1,guangzhou

    指定表中行数据信息

    ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘ ’ LINES TERMINATED BY ‘ ’
    * ROW FORMAT
    * TERMINATED BY ‘ ’ 每行数据中字段的分隔符
    * LINES TERMINATED BY ‘ ’ 行的分隔符,不指定的时候默认为‘ ’

    存储格式

    • STORED AS
      • TEXTFILE 使用纯文本存储。
      • SEQUENCEFILE 对文件进行压缩存储。

    分区

    • PARTITIONED :表示的是分区,不同的分区会以文件夹的形式存在

    外部表

    • EXTERNAL 关键字可以让用户创建一个外部表,在建表的同时指定一个指向实际数据的路径(LOCATION),Hive 创建内部表时,会将数据移动到数据仓库指向的路径;若创建外部表,仅记录数据所在的路径,不对数据的位置做任何改变。在删除表的时候,内部表的元数据和数 据会被一起删除,而外部表只删除元数据,不删除数据。

    LOAD 语法

    Hive不支持一条一条的用insert语句进行插入操作,也不支持update的操作。数据是以从其他表查询或load的方式,加载到建立好的表中。数据一旦导入,则不可修改。

    LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1,partcol2=val2 ...)]
    • 1

    例子

    导入到普通表:

    LOAD DATA LOCAL INPATH "/home/hadoopUser/data/test1.txt" INTO TABLE test1;
     
    • 1

    导入到分区表:

    load data local inpath '/liguodong/dataext' into table test1 partition(dt='20150717');
    • 1
    • LOCAL

      • 指定local,表示从本地文件系统加载(文件会被拷贝到HDFS中)
      • 不指定local,表示从HDFS中加载数据
    • OVERWRITE 表示是否覆盖表中数据

  • 相关阅读:
    如何把两个查询语句合成一条 语句
    SpringBoot之springfox(Swagger) (ApiDoc接口文档)
    springboot + swagger
    高等数学(上)第2章——导数与微分
    oracle 常用 sql
    线性代数基础知识(三)—— 矩阵乘法
    Neo4j(一)
    医学知识图谱(二)——应用
    医学知识图谱一
    数学基本概念
  • 原文地址:https://www.cnblogs.com/qinchanggui/p/13828105.html
Copyright © 2020-2023  润新知