大家开发 ETL 时哪个用的多, Spark RDD vs DataFrame vs DataSet vs Spark SQL?

2020-07-14 11:10:54 +08:00
 leiuu

RT 。 后续可能想要做 hive 任务到 Spark 的迁移。 目前在这几个 API 中比较纠结。 想了解,一版生产这几个哪个用的多(在 etl 任务中),如果有好的生产模板推荐,那就更好的了。 🙏🙏

2456 次点击
所在节点    程序员
11 条回复
shuianfendi6
2020-07-14 11:17:27 +08:00
DataFrame 吧,rdd 已经被取代了
spark sql 写起来很爽,但是类型检查啥的都没,容易出错
liprais
2020-07-14 11:19:34 +08:00
DataFrame vs DataSet vs Spark SQL
这三个现在是一个东西
没事别用 rdd
leiuu
2020-07-14 11:22:50 +08:00
@shuianfendi6 rdd 可能一些较复杂的操作 还有一点用处

@liprais 可否展开说说。具体语法上呢,倾向于直接写 sql 还是用 spark 的语法如 where 、groupBy 、join 等。
liprais
2020-07-14 11:24:32 +08:00
@leiuu 你会哪个就用哪个呗
这三个东西现在没有任何区别
hantsy
2020-07-14 11:25:33 +08:00
ETL 只用过 Spring Batch
leiuu
2020-07-14 11:29:02 +08:00
@liprais 明白。这个三种倒是上手都比较快。spark sql 因为和标准 sql 类似可能会简单些。其实是想了解这几种用法实际生产过程有没有一些问题。哪种更适合代替 hive 生产数据。当然原理上应该都是基于 rdd 实现。
leiuu
2020-07-14 11:52:06 +08:00
@hantsy spring 竟然还有这 真全家桶
RudyGuo
2020-07-14 11:53:29 +08:00
hive sql 和 Spark sql 语法基本一样
hantsy
2020-07-14 12:04:35 +08:00
@leiuu Spring Batch 只作处理 ETL,不管数据的 Source,Sink 。

现在的话,大数据服务应该考虑 Spring Cloud Data Flow,复杂处理流程有可视化 Web UI 支持,管理不同的数据来源,处理过程可以开发成 Severless 程序,动态安装和组装成流程。
hantsy
2020-07-14 12:08:01 +08:00
Apache 上大数据方面比 Flink,Beam 没有用过,不过我一些经历,老外更喜欢是买背后商业公司的服务,开源项目支持力度实在不够。
Comdex
2020-07-14 13:16:06 +08:00
一般写 SparkSQL, 业务逻辑复杂就上 DataFrame 加点 java 代码

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/689832

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX