在生产环境中, 使用shell脚本完成一次etl操作
1.定义一个etl函数, 里面传入json行数据, 用json.loads加载行数据,并对行数据进行判断,如果没有行数据,或data字段没有在行数据里..., 我用的是hiveonspark模式,
4.初始化rdd, 从大数据emr集群中(也可能是从实时系统kafka读取数据)加载数据到rdd , 然后用自己自定义的etl解析过滤
5.将rdd转为df,...createDateFream()要传两个参数,一个是rdd,一个是schema信息
6.将df创建临时表 createOrReplaceTemView()
7.将临时表表的数据加载到hive表中, 完成整个...ETL操作
ETL常用场景:
1.清洗nginx日志信息, 预处理日志文件(每小时将上报的日志拉取到本机,hdfs命令上传集群),并清洗存入hive
2.每小时清洗用户表信息,
3.后处理清洗商户信息,...etlLogDF = spark.createDataFrame(etlLogRDD,etlLogSchema)
测试:etlLogDF.printSchema()
etlLogDF.show()
exit()
创建临时表