Man*_*ish 4 hadoop hive bigdata hiveql
create table MY_DATA0(session_id STRING, userid BIGINT,date_time STRING, ip STRING, URL STRING ,country STRING, state STRING, city STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES
TERMINATED BY '\n' STORED AS TEXTFILE ;
LOAD DATA INPATH '/inputhive' OVERWRITE INTO TABLE MY_DATA0;
create table part0(session_id STRING, userid BIGINT,date_time STRING, ip STRING, URL STRING) partitioned by (country STRING, state STRING, city STRING)
clustered by (userid) into 256 buckets ROW FORMAT DELIMITED FIELDS
TERMINATED BY ',' LINES TERMINATED BY '\n' STORED AS TEXTFILE ;
\insert overwrite table part0 partition(country, state, city) select session_id, userid, date_time,ip, url, country, state,city from my_data0;
Run Code Online (Sandbox Code Playgroud)
我的数据集概述:
{60A191CB-B3CA-496E-B33B-0ACA551DD503},1331582487,2012-03-12 13:01:27,66.91.193.75,http://www.acme.com/SH55126545/VD55179433,United States,Hauula,Hawaii
{365CC356-7822-8A42-51D2-B6396F8FC5BF},1331584835,2012-03-12 13:40:35,173.172.214.24,http://www.acme.com/SH55126545/VD55179433,United States,El paso ,Texas
当我运行最后一个插入脚本时,我得到一个错误:
java.lang.RuntimeException:org.apache.hadoop.hive.ql.metadata.HiveFatalException:[Error 20004]:当节点尝试创建过多动态分区时发生致命错误.动态分区的最大数量由hive.exec.max.dynamic.partitions和hive.exec.max.dynamic.partitions.pernode控制.最大值设置为:100
PS:
我设置了这两个属性:
hive.exec.dynamic.partition.mode ::不严格
hive.enforce.bucketing ::真
Inf*_*nut 10
尝试将这些属性设置为更高的值.
SET hive.exec.max.dynamic.partitions=100000;
SET hive.exec.max.dynamic.partitions.pernode=100000;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9496 次 |
| 最近记录: |