永发信息网

hive sql有没有控制流程的语法

答案:1  悬赏:60  手机版
解决时间 2021-11-24 11:40
  • 提问者网友:浩歌待明月
  • 2021-11-23 17:54
hive sql有没有控制流程的语法
最佳答案
  • 五星知识达人网友:纵马山川剑自提
  • 2021-11-23 19:19
1. DDL 操作
DDL操作类型
1.2 建表:
建表
•CREATE TABLE 创建一个指定名字的表。如果相同名字的表已经存在,则抛出异常;用户可以用 IF NOT EXIST 选项来忽略这个异常
•EXTERNAL 关键字可以让用户创建一个外部表,在建表的同时指定一个指向实际数据的路径(LOCATION)
•LIKE 允许用户复制现有的表结构,但是不复制数据
•COMMENT可以为表与字段增加描述

•ROW FORMAT
DELIMITED [FIELDS TERMINATED BY char] [COLLECTION ITEMS TERMINATED BY char]
[MAP KEYS TERMINATED BY char] [LINES TERMINATED BY char]
| SERDE serde_name [WITH SERDEPROPERTIES (property_name=property_value, property_name=property_value, ...)]
用户在建表的时候可以自定义 SerDe 或者使用自带的 SerDe。如果没有指定 ROW FORMAT 或者 ROW FORMAT DELIMITED,将会使用自带的 SerDe。在建表的时候,用户还需要为表指定列,用户在指定表的列的同时也会指定自定义的 SerDe,Hive 通过 SerDe 确定表的具体的列的数据。
•STORED AS
SEQUENCEFILE
| TEXTFILE
| RCFILE
| INPUTFORMAT input_format_classname OUTPUTFORMAT output_format_classname
如果文件数据是纯文本,可以使用 STORED AS TEXTFILE。如果数据需要压缩,使用 STORED AS SEQUENCE 。

1.3 创建简单表:
  hive> CREATE TABLE pokes (foo INT, bar STRING);
1.4 创建外部表:
创建外部表
1.5 建分区表
分区表
1.6 建Bucket表
创建Bucket表
1.7 创建表并创建索引字段ds
  hive> CREATE TABLE invites (foo INT, bar STRING) PARTITIONED BY (ds STRING);
1.8 复制一个空表
  CREATE TABLE empty_key_value_store
  LIKE key_value_store;
例子
例子

导入数据表的数据格式是:字段之间是tab键分割,行之间是断行。
及要我们的文件内容格式:
100636 100890 c5c86f4cddc15eb7 yyyvybtvt
100612 100865 97cc70d411c18b6f gyvcycy
100078 100087 ecd6026a15ffddf5 qa000100

1.9 显示所有表:
  hive> SHOW TABLES;
1.10 按正条件(正则表达式)显示表,
  hive> SHOW TABLES '.*s';
DDL类型-修改表结构
1.21 表添加一列:
  hive> ALTER TABLE pokes ADD COLUMNS (new_col INT);
1.22 添加一列并增加列字段注释
  hive> ALTER TABLE invites ADD COLUMNS (new_col2 INT COMMENT 'a comment');
1.23 更改表名:
  hive> ALTER TABLE events RENAME TO 3koobecaf;
1.24 删除列:
  hive> DROP TABLE pokes;

1.25 增加、删除分区
•增加
ALTER TABLE table_name ADD [IF NOT EXISTS] partition_spec [ LOCATION 'location1' ] partition_spec [ LOCATION 'location2' ] ...
partition_spec:
: PARTITION (partition_col = partition_col_value, partition_col = partiton_col_value, ...)
•删除
  ALTER TABLE table_name DROP partition_spec, partition_spec,...
1.26 重命名表
  ALTER TABLE table_name RENAME TO new_table_name
1.27 修改列的名字、类型、位置、注释:
ALTER TABLE table_name CHANGE [COLUMN] col_old_name col_new_name column_type [COMMENT col_comment] [FIRST|AFTER column_name]
  这个命令可以允许改变列名、数据类型、注释、列位置或者它们的任意组合
1.28 表添加一列:
  hive> ALTER TABLE pokes ADD COLUMNS (new_col INT);
1.29 添加一列并增加列字段注释
  hive> ALTER TABLE invites ADD COLUMNS (new_col2 INT COMMENT 'a comment');
1.30 增加/更新列
  ALTER TABLE table_name ADD|REPLACE COLUMNS (col_name data_type [COMMENT col_comment], ...)

• ADD是代表新增一字段,字段位置在所有列后面(partition列前)
REPLACE则是表示替换表中所有字段。
1.31 增加表的元数据信息
  ALTER TABLE table_name SET TBLPROPERTIES table_properties table_properties:
:[property_name = property_value…..]
•用户可以用这个命令向表中增加metadata
1.31改变表文件格式与组织
  ALTER TABLE table_name SET FILEFORMAT file_format
  ALTER TABLE table_name CLUSTERED BY(userid) SORTED BY(viewTime) INTO num_buckets BUCKETS
  这个命令修改了表的物理存储属性
1.4 创建/删除视图
CREATE VIEW [IF NOT EXISTS] view_name [ (column_name [COMMENT column_comment], ...) ][COMMENT view_comment][TBLPROPERTIES (property_name = property_value, ...)] AS SELECT
•增加视图
•如果没有提供表名,视图列的名字将由定义的SELECT表达式自动生成
•如果修改基本表的属性,视图中不会体现,无效查询将会失败
•视图是只读的,不能用LOAD/INSERT/ALTER
•DROP VIEW view_name
•删除视图
1.5 创建数据库
  CREATE DATABASE name
1.6 显示命令
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯