大家好,又见面了,我是你们的朋友全栈君。...在生产环境中, 使用shell脚本完成一次etl操作
1.定义一个etl函数, 里面传入json行数据, 用json.loads加载行数据,并对行数据进行判断,如果没有行数据,或data字段没有在行数据里..., 就直接返回空的结果, 否则就继续往下执行
2.接着获取行里的数据, 用for循环判断, 如果包含某个值, 我就将变量赋值取出, 装在集合容器里
3.设置sparksession会话, 并enableHiveSupport..., 我用的是hiveonspark模式,
4.初始化rdd, 从大数据emr集群中(也可能是从实时系统kafka读取数据)加载数据到rdd , 然后用自己自定义的etl解析过滤
5.将rdd转为df,...ETL操作
ETL常用场景:
1.清洗nginx日志信息, 预处理日志文件(每小时将上报的日志拉取到本机,hdfs命令上传集群),并清洗存入hive
2.每小时清洗用户表信息,
3.后处理清洗商户信息,