• hive修改表DDL


    -- 修改表名ALTER TABLE 表名 RENAME TO 新表名;

    -- 修改表注释,comment要小写ALTER TABLE 表名 SET TBLPROPERTIES('comment' = '表注释内容');

    -- 添加列和注释ALTER TABLE 表名 ADD COLUMNS (1 sid STRING COMMENT '学生id',2 STRING COMMENT '学生姓名');

    -- 修改列名和注释ALTER TABLE 表名 CHANGE COLUMN 列名 新列名 string COMMENT '学生id';

    -- 修改列名ALTER TABLE 表名 CHANGE COLUMN 列名 新列名 string;

    -- 可以把该列放到指定列的后面,或者使用'FIRST'放到第一位ALTER TABLE 表名 CHANGE COLUMN 列名 新列名 int(修改后列的属性) COMMENT 'column_name' AFTER severity;-- 将表tablename中的列column_orign修改成column_new,同时指定修改后的列名称的属性,comment是这个列的注释

     

    --1

     

       ALTER TABLE emp CHANGE COLUMN age uage double COMMENT 'column age' AFTER id;

      -- 查看表的属性DESC FORMATTED tablename;

    -- 修改表的属性

    -- table_name表中的property_name属性值修改成'new_value';ALTER TABLE table_name SET TBLPROPERTIES('property_name'='new_value');

    -- 将表table_name中的字段分割符修改成'\t',注意,这是在表没有分区的情况下ALTER TABLE emp SET SERDEPROPERTIES("field.delim"="\t");

    --1

     

     CREATE TABLE emp(id INT,uname STRING)
        ROW FORMAT DELIMITED FIELDS TERMINATED BY '#' 
        LINES TERMINATED BY '\n' 
        STORED AS textfile;-- 这条语句将t8表中的字段分隔符'#'修改成'\t';
      ALTER TABLE emp SET SERDEPROPERTIES('field.delim'='\t');--例2:
      CREATE TABLE emp(id INT,uname STRING) 
      PARTITIONED BY(dt string) 
      ROW FORAMT DELIMITED FIELDS TERMINATED BY '\n' 
      STORED AS textfile;ALTER TABLE emp PARTITION(dt='20180108') SET SERDEPROPERTIES('field.delim=\t');--例3 ALTER TABLE table_name[partition] set location 'path'--内部表转化成外部表ALTER TABLE emp SET TBLPROPERTIES('EXTERNAL'='TRUE');--外部表转化成内部表ALTER TABLE emp SET TBLPROPERTIES('EXTERNAL'='FALSE');

     

    -- 解析json字符串get_json_object(param1,"$.param2")

    -- param1:需要解析的json字段

    -- param2:遇到数组就用 [0,1,2...] 0,1,2是数组对应的元素,遇到jsonObject直接用 "$.key"取出想要获取的value

    SELECT get_json_object('{"name":"王二狗","sex":"男","age":"25"}','$.name') movie

    -- 侧写

    SELECT name,courseFROM student
    LATERAL VIEW
    EXPLODE(SPLIT(course,",")) course_tmp AS course ;

    https://cwiki.apache.org/confluence/display/Hive/LanguageManual

    -- 修改表名ALTER TABLE 表名 RENAME TO 新表名;
    -- 修改表注释,comment要小写ALTER TABLE 表名 SET TBLPROPERTIES('comment' = '表注释内容');
    -- 添加列和注释ALTER TABLE 表名 ADD COLUMNS (列1 sid STRING COMMENT '学生id',列2 STRING COMMENT '学生姓名');
    -- 修改列名和注释ALTER TABLE 表名 CHANGE COLUMN 列名 新列名 string COMMENT '学生id';
    -- 修改列名ALTER TABLE 表名 CHANGE COLUMN 列名 新列名 string;
    -- 可以把该列放到指定列的后面,或者使用'FIRST'放到第一位ALTER TABLE 表名 CHANGE COLUMN 列名 新列名 int(修改后列的属性) COMMENT 'column_name' AFTER severity;-- 将表tablename中的列column_orign修改成column_new,同时指定修改后的列名称的属性,comment是这个列的注释   --例1:   ALTER TABLE emp CHANGE COLUMN age uage double COMMENT 'column age' AFTER id;   -- 查看表的属性DESC FORMATTED tablename;
    -- 修改表的属性-- 将table_name表中的property_name属性值修改成'new_value';ALTER TABLE table_name SET TBLPROPERTIES('property_name'='new_value');
    -- 将表table_name中的字段分割符修改成'\t',注意,这是在表没有分区的情况下ALTER TABLE emp SET SERDEPROPERTIES("field.delim"="\t");--例1:  CREATE TABLE emp(id INT,uname STRING)    ROW FORMAT DELIMITED FIELDS TERMINATED BY '#'     LINES TERMINATED BY '\n'     STORED AS textfile;-- 这条语句将t8表中的字段分隔符'#'修改成'\t';  ALTER TABLE emp SET SERDEPROPERTIES('field.delim'='\t');--例2:  CREATE TABLE emp(id INT,uname STRING)   PARTITIONED BY(dt string)   ROW FORAMT DELIMITED FIELDS TERMINATED BY '\n'   STORED AS textfile;ALTER TABLE emp PARTITION(dt='20180108') SET SERDEPROPERTIES('field.delim=\t');--例3 ALTER TABLE table_name[partition] set location 'path'--内部表转化成外部表ALTER TABLE emp SET TBLPROPERTIES('EXTERNAL'='TRUE');--外部表转化成内部表ALTER TABLE emp SET TBLPROPERTIES('EXTERNAL'='FALSE');
    -- 解析json字符串get_json_object(param1,"$.param2") -- param1:需要解析的json字段 -- param2:遇到数组就用 [0,1,2...] 0,1,2是数组对应的元素,遇到jsonObject直接用 "$.key"取出想要获取的value。SELECT get_json_object('{"name":"王二狗","sex":"男","age":"25"}','$.name') movie
    -- 侧写SELECT name,courseFROM studentLATERAL VIEWEXPLODE(SPLIT(course,",")) course_tmp AS course ;

     

  • 相关阅读:
    NYOJ:喷水装置(一)
    NYOJ:QQ农场
    NYOJ:死神来了(鸽巢定理)
    NYOJ:星际之门(一)(cayley定理)
    计蒜客: 法师康的工人 (贪心)
    '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "AttentionController" nib but the view outlet was not set.'
    UITabBar 蓝色
    App installation failed There was an internal API error.
    UIImage将图片写入本地相册
    UINavigationItem不显示
  • 原文地址:https://www.cnblogs.com/lly001/p/15559493.html
Copyright © 2020-2023  润新知