分享

大家使用spark实现ETL的使用方式有哪些?

本帖最后由 J20_果农 于 2017-6-29 10:24 编辑
如题:
比如有个数据从hdfs抽取解析到hive或者从hive数据统计汇总的作业,大家使用spark怎么实现这样的ETL?
1.写个spark main应用打包运行jar?
2.写shell脚本实现? 怎么实现?
大家能提供些比较常见的思路吗?谢谢!

已有(4)人评论

跳转到指定楼层
fly2015 发表于 2017-6-29 11:05:09
感觉这个都用不到spark
回复

使用道具 举报

J20_果农 发表于 2017-6-29 11:32:20
fly2015 发表于 2017-6-29 11:05
感觉这个都用不到spark

再具体一点,就是现在很多非结构化的日志,通过flume传到hdfs
1.我想把这些日志进行清洗,结构化,存入到hive, 这步你们平时用什么实现?
2.hive汇总可以使用hivesql脚本就能实现,但是如果想使用spark实现,怎么实现?
3.这两个场景的数据处理问题,如果spark和sparksql不在这两个场景中使用,那平时sparksql在什么场景会用到,怎么用? 谢谢!

回复

使用道具 举报

qcbb001 发表于 2017-6-29 14:11:16
J20_果农 发表于 2017-6-29 11:32
再具体一点,就是现在很多非结构化的日志,通过flume传到hdfs
1.我想把这些日志进行清洗,结构化,存入 ...

1.我想把这些日志进行清洗,结构化,存入到hive, 这步你们平时用什么实现?
spark可以用来清洗和结构化
2.hive汇总可以使用hivesql脚本就能实现,但是如果想使用spark实现,怎么实现?
spark编程DataFrame也可以实现
3.这两个场景的数据处理问题,如果spark和sparksql不在这两个场景中使用,那平时sparksql在什么场景会用到,怎么用? 谢谢!
spark和spark sql是技术,看你怎么用。
##############


如下图便是一个使用ETL_ON_SPARKEngine作为整个ETL的核心,


20170113140914829.png


主要承担一下几方面的职责:
1、负责从hbase中读取配置库的配置数据,并制定任务调度计划。
2、解析数据获取语句,从数据源读取数据,以Spark DataFrame的形式暂存在Spark集群的内存中。从MySQL、hive等结构化的数据库中读取数据比较好理解,就是一条Sql语句,最多在使用几个自定义函数。从Hbase,MongoDb等半结构化的数据库中获取数据时,由于原始数据的字段具有层次关系、或者以Json等格式存在,需要进行字段的拆分、Json数据展平等过程。
3、对源Spark DataFrame进行字段转换与字段映射,生成一个新的Spark DataFrame。在这一步主要进行字段名称转换、字段类型转换、字段合并重组等操作。
4、将新的Spark DataFrame写入目标数据源中。
参考:
csdn 大愚若智_





回复

使用道具 举报

ledasion 发表于 2017-7-19 14:40:29
Spark 上将不规则日志的进行解析,清洗,结构化,存入 Hive,程序打成 Jar 包在 Oozie 上调度
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条