)clustered by (EMPNO) into 3 buckets row format delimited fields terminated by ',' stored as orc tblproperties('transactional' = 'true');
时间: 2024-01-18 07:02:51 浏览: 39
这是一个 HiveQL 的语句,作用是创建一个 ORC 格式的表,并按照 EMPNO 字段进行聚簇分桶,每个桶内数据量大致相等,最终创建出来的表是一个事务性表,即支持 ACID 事务的表。
具体而言,该语句包括以下几个关键字:
- CREATE TABLE:创建一个新表。
- clustered by (EMPNO) into 3 buckets:按照 EMPNO 字段进行聚簇分桶,将数据分为 3 个桶。
- row format delimited fields terminated by ',':指定数据行的分隔符为逗号。
- stored as orc:指定存储格式为 ORC。
- tblproperties('transactional' = 'true'):设置表属性,将该表设置为事务性表,即支持 ACID 事务操作。
因此,该语句用于创建一个按照 EMPNO 字段进行聚簇分桶的事务性表,该表使用 ORC 格式存储,数据行的分隔符为逗号。
相关问题
create table origin1 ( orderid string, url string, xinzi string comment '薪资待遇', gangwei string comment '岗位名', didian string comment '工作地点', fuli string comment '公司福利', jineng string comment '技能要求', jingyan string comment '工作经验', hangye string comment '行业名', xueli string comment '学历要求', gongsi string comment '公司名', rongzi string comment '融资阶段', guimo string comment '公司规模' )comment '原始数据表' clustered by (orderid) into 1 buckets stored as orc tblproperties ('transactional'='true')
根据您提供的 HQL 代码,我没有发现任何错误。这是一条创建名为 `origin1` 的表的语句,其中包含 `orderid`、`url`、`xinzi`、`gangwei`、`didian`、`fuli`、`jineng`、`jingyan`、`hangye`、`xueli`、`gongsi`、`rongzi` 和 `guimo` 13 个字段,每个字段都有相应的注释,表的存储格式为 ORC。此外,使用 `clustered by` 将表进行桶排序,并指定使用 1 个桶,以提高查询效率。最后,使用 `tblproperties` 将表设置为事务性表,支持 ACID 事务操作。
如果您还有其他问题或需要进一步帮助,请随时提问,我会尽力回答。
以下HOLODESK建表语句正确的有( ) 2分 CREATE FACT TABLE WECHAT_HISTORY( ID STRING, STORE STRING, TRANS_NO STRING, TRANS_DATE DATE, TRANS_TYPE STRING) PARTITIONED BY (TRANS_DATE) CLUSTERED BY (ID) STORED AS HOLODESK; CREATE FACT TABLE WECHAT_HISTORY( ID STRING, STORE STRING, TRANS_NO STRING, TRANS_DATE DATE, TRANS_TYPE STRING) PARTITIONED BY (PARTITION_DATE DATE) CLUSTERED BY (ID) STORED AS HOLODESK; CREATE TABLE WECHAT_HISTORY( ID STRING, STORE STRING, TRANS_NO STRING, TRANS_DATE DATE, TRANS_TYPE STRING) PARTITIONED BY (PARTITION_DATE DATE) CLUSTERED BY (ID) INTO 3 BUCKETS STORED AS HOLODESK; CREATE TABLE WECHAT_HISTORY( ID STRING, STORE STRING, TRANS_NO STRING, TRANS_DATE DATE, TRANS_TYPE STRING) PARTITIONED BY (PARTITION_DATE DATE) CLUSTERED BY (ID) STORED AS HOLODESK;
以下HOLODESK建表语句正确的有:
1. CREATE FACT TABLE WECHAT_HISTORY( ID STRING, STORE STRING, TRANS_NO STRING, TRANS_DATE DATE, TRANS_TYPE STRING) PARTITIONED BY (TRANS_DATE) CLUSTERED BY (ID) STORED AS HOLODESK;
2. CREATE TABLE WECHAT_HISTORY( ID STRING, STORE STRING, TRANS_NO STRING, TRANS_DATE DATE, TRANS_TYPE STRING) PARTITIONED BY (PARTITION_DATE DATE) CLUSTERED BY (ID) STORED AS HOLODESK;
第一条语句是创建一个事实表WECHAT_HISTORY,使用TRANS_DATE进行分区,使用ID进行聚集,并将数据存储为HOLODESK格式。
第二条语句是创建一个表WECHAT_HISTORY,使用PARTITION_DATE进行分区,使用ID进行聚集,并将数据存储为HOLODESK格式。
第三条语句中的BUCKETS是无效的关键字,不符合HOLODESK建表语法规范,因此是错误的。
第四条语句只缺少了FACT关键字,应该是CREATE FACT TABLE WECHAT_HISTORY,其他部分是正确的。
所以,正确的建表语句有两个:
1. CREATE FACT TABLE WECHAT_HISTORY( ID STRING, STORE STRING, TRANS_NO STRING, TRANS_DATE DATE, TRANS_TYPE STRING) PARTITIONED BY (TRANS_DATE) CLUSTERED BY (ID) STORED AS HOLODESK;
2. CREATE TABLE WECHAT_HISTORY( ID STRING, STORE STRING, TRANS_NO STRING, TRANS_DATE DATE, TRANS_TYPE STRING) PARTITIONED BY (PARTITION_DATE DATE) CLUSTERED BY (ID) STORED AS HOLODESK;