大规模数据处理实战
蔡元楠
硅谷资深工程师
41608 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 46 讲
大规模数据处理实战
15
15
1.0x
00:00/00:00
登录|注册

FAQ第二期 | Spark案例实战答疑

建立批判性思维
查阅官方API文档
积极实践
窗口类型
基于数据本身窗口
新的数据处理框架的出现
开源贡献者对Spark的改进
窗口类型限制
文件管理系统依赖
内存处理开销
事件时间限制的目的
两个流的Join
Outer-Join的要求
加水印的必要性
不支持完全输出模式
Scala和Python在Spark中的优劣
PySpark不支持DataSet
查阅官方文档
掌握核心内容和设计理念
积极留言的学生
groupBy('value')解释
DataFrame API vs. DataSet
Structured Streaming
Spark Streaming
DataSet/DataFrame
RDD
深入了解Spark的基本特性
文章分享
欢迎继续留言
Spark案例实战篇的答疑
Flink对窗口的支持
Spark的不足和改进
事件时间的限制
流的Inner-Join
语言选择问题
学习新技术
模块三共性留言答疑
使用常用API
Spark基本特性
总结
Spark案例实战答疑
FAQ第二期 | Spark案例实战答疑
参考文章

该思维导图由 AI 生成,仅供参考

你好,我是蔡元楠。
这里是第二期答疑,上周我们结束了 Spark 部分的内容,时隔一周,我们的 Spark 案例实战答疑终于上线了。
通过 10 讲的 Spark 学习,相信你已经对 Spark 的基本特性有了深入的了解,也基本掌握了如何使用各类常用 API,如 RDD、DataSet/DataFrame、Spark Streaming 和 Structured Streaming。今天我将针对模块三中提出的一些共性留言做一个集中答疑。
我首先要为积极留言的同学们点个赞,感谢同学们亲自动手实践,有的同学还通过查阅官方 API 文档的形式找出了正确的实现方式,这非常值得鼓励。

第 18 讲

在第 18 讲中,kylin 同学留言问到,为什么用我们通篇用的是 DataFrame API 而不是 DataSet。这是因为 PySpark 的 SQL 库只有 DataFrame,并没有 DataSet。不过在 Scala 和 Java 中,DataSet 已经成为了统一的 SQL 入口。
斯盖丸同学问道,第 18 讲代码中 groupBy(‘value’) 中 value 是什么意思?
这里我说一下,SparkSession.read.text() 读取文件后生成的 DataFrame 只有一列,它的默认名字就是“value”。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文是蔡元楠的第二期答疑,主要围绕Spark案例实战展开。文章内容涵盖了读者在学习Spark过程中提出的问题和疑惑,并对这些问题进行了详细的解答和讨论。作者首先解释了为什么在讲解中主要使用DataFrame API而不是DataSet,并对一些具体的代码细节进行了解释。在讨论中,作者还提到了Spark在语言支持、Inner-Join和Outer-Join等方面的局限性,并对如何改进Spark进行了探讨。此外,作者还对Flink相比Spark的优势进行了介绍,强调了Flink在窗口支持方面的优势。整体而言,本文通过解答读者提出的问题,深入探讨了Spark的技术特点和局限性,并对其与其他数据处理框架的比较进行了分析,为读者提供了一次全面的技术知识盘点。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《大规模数据处理实战》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(6)

  • 最新
  • 精选
  • 楚翔style
    老师,请教个问题: 1.spark多表做join,表里的数据都要加载到内存的吗? 2.假设都是上亿条数据,每张表有500+字段;导致内存不足,除了硬件角度处理,代码角度能否解决?
    2019-08-16
    4
  • 王盛武
    想听老师讲讲storm与其它大数据框架的差异
    2019-06-21
    2
  • coder
    老师,再问两个问题: 1、> PySpark 现在不支持 DataSet,只有 Scala 和 Java 支持。这是由语言特性决定的,Python 是动态类型的语言,而 DataSet 是强类型的,要求在编译时检测类型安全。所以,在所有用 Python 的代码例子中,我用的都是 DataFrame。 怎么理解动态类型的语言不支持强类型的数据结构,编译时检测类型安全都在检测类型哪些方面的安全性?强类型和弱类型这种概念出现了很多次,但是一直不理解它们的含义,怎么从编译原理的角度去理解强类型和弱类型? 2、流数据确实是无边界的,所以它们算出来的结果背后应该会有一套概率理论模型做支撑,准确说应该是一套基于局部时间窗口和全局数据概率统计模型的。也就是说我想得到最大值,这个最大值往往是局部时间窗口的,但是我如果想得到全局的最大值,岂不是要从流数据的源头就开始统计? 基于局部时间窗口算出来的一般不是最准确的,那么对于那些需要非常精确处理结果的应用场景,流处理框架是不是就不适用了,或者需要结合其它技术来完善? 流数据框架在哪些场景中是不适用的?
    2019-06-14
    1
  • FengX
    ^_^谢谢老师答疑解惑
    2019-06-14
    1
  • 西南偏北
    多谢老师的答疑
    2019-06-14
  • Geek_f89209
    老是,能介绍一下pyspark处理hbase数据源的方案吗,happybase虽然流行,但限制很多,无法批量按照每个row特定的前缀过滤数据?我们目前的方案是用java原生这个处理hbase的进程,用py4j和这个进程通信
    2019-06-14
    1
收起评论
显示
设置
留言
6
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部