zoukankan      html  css  js  c++  java
  • hive相关操作

    hive指令:

    1:重命名表
    ALTER TABLE table_name RENAME TO new_table_name;
    上面这个命令可以重命名表,数据所在的位置和分区都没有改变。

    2:改变列名/类型/位置/注释
    ALTER TABLE table_name CHANGE
    [CLOUMN] col_old_name col_new_name column_type
    [CONMMENT col_conmment]
    [FIRST|AFTER column_name];
    这个命令可以修改表的列名,数据类型,列注释和列所在的位置,FIRST将列放在第一列,AFTER col_name将列放在col_name后面一列,例如:
    ALTER TABLE test_table CHANGE col1 col2 STRING
    COMMENT 'The datatype of col2 is STRING'
    AFTER col3;
    上面的语句将列名col2修改为col2,数据类型为STRING并添加注释,最后将这一列放在col3后面。

    3:增加/更新列
    ALTER TABLE table_name ADD|REPLACE COLUMNS (col_name data_type [CONMMENT col_comment], ...);
    ADD COLUMNS允许用户在当前列的末尾,分区列之前添加新的列,REPLACE COLUMNS允许用户更新列,更新的过程是先删除当前的列,然后在加入新的列。注:只有在使用native的SerDE时才可以这么做。

    4:增加表的属性
    ALTER TABLE table_name SET TBLPEOPERTIES table_properties;
    用户可以使用这个语句增加表属性,table_properties的结构为(property_name=property_value,property_name=property_value, ...),目前last_modified_time(最后修改时间),last_modified_user(做最后修改的用户)是由Hive自动管理的。用户可以向列中添加自己的属性,然后使用DISCRIBE EXTEBDED TABLE来获取这些信息。

    5:增加SerDE属性
    ALTER TABLE table_name SET SERDE serde_class_name
    [WHIT SERDEPROPERTIES serde_properties];
    ALTER TABLE table_name SET SERDEPROPERTIES serde_properties;
    上面两个命令都允许用户想SerDE对象增加用户定义的元数据。hive为了序列化和反序列化数据,将会初始化SerDE属性,并将属性传给表的SerDE。这样用户可以为自定义的SerDe存储属性。上面serde_properties的结构为(property_name=property_value,property_name=property_value, ...)。

    6:修改表文件格式和组织
    ALTER TABLE table_name SET FILEFORMAT file_format;
    ALTER TABLE table_name CLUSTERED BY (col_name, col_name, ...)
    [SORTED By (col_name, ...)] INTO num_buckets BUCKETS;
    上面两个命令都修改了表的物理属性。


    hivemetastor:hive元数据
    hivemetastorserver(Thrift):hive元数据服务进程,所有需要读取,操作hive元数据的服务都必须通过连接hive的9083端口,
    hivemetastorserver监听9083端口
    hive2:常用于第三方工具操作hive,负责将第三方工具需要提交的sql提交到hive的14000端口,hive14000端口接收到sql后启动一个新的MR进程计算这条sql,
    计算结束把结果返回给hive2后,启动的该进程结束。
    hive:在本地启动一个hive进程

  • 相关阅读:
    【Webpack】432- 关于webpack4的14个知识点
    【Nuxtjs】431- 简述Nuxt.js
    【JS】430- 前端异常处理方案汇总
    【Web技术】429- TCP为啥要3次握手和4次挥手?
    【Nodejs】428- 消息队列助你成为高薪 Node.js 工程师
    【Web技术】427- 图解浏览器的基本工作原理
    【Vuejs】426- vue动态定义图片路径
    linux命令英文缩写的含义(方便记忆)
    VM虚拟机安装centos详细图文教程
    Android 你应该知道的学习资源 进阶之路贵在坚持
  • 原文地址:https://www.cnblogs.com/hejianxin/p/8397928.html
Copyright © 2011-2022 走看看