[hadoop@hadoop-01 shell]$ cat g6-train-hadoop2.sh
process_date=20180717
echo "step1: mapreduce etl"
hadoop jar /home/hadoop/lib/g6-hadoop-1.0.jar com.ruozedata.hadoop.mapreduce.driver.LogETLDriver /g6/hadoop/accesslog/$process_date /g6/hadoop/access/output/day=$process_date
echo "step2:数据移动到DW"
hdfs dfs -rm -r /g6/hadoop/access/clear/*
hdfs dfs -mv /g6/hadoop/access/output/day=$process_date /g6/hadoop/access/clear/
echo "step3:刷元数据"
hive -e "use g6hadoop; alter table g6_access add if not exists partition (day=$process_date);"
echo "step4: 创建parquet表"
hive -e "use g6hadoop;set parquet.compression=gzip;set hive.exec.dynamic.partition = true;set hive.exec.dynamic.partition.mode = nonstrict;
insert into g6_access_parquet partition(day) select * from g6_access ; "
第一步:
原日志:20180717.txt。
经过ETL过后的文件在output目录
第二步

本文介绍了如何将经过ETL处理的数据以Parquet格式存储并导入到Hive。首先,处理源日志文件得到清洗后的数据。其次,在Hive中创建外部表并指定存放位置。接着,将清洗后的文件移动到Hive表目录下。然后,执行分区刷新操作。最后,创建新的Parquet表,配置压缩方式和动态分区选项。
最低0.47元/天 解锁文章
1491

被折叠的 条评论
为什么被折叠?



