Skip to content

PySpark

shiyuhang0 edited this page Jun 7, 2022 · 14 revisions

EN

TODO

CN

pyspark & pytispark

  • pyspark 是 Apache Spark 的 Python API,由官方发布。
  • pytispark 是为了 TiSpark 和 pyspark 结合使用的小插件,由 TiSpark 维护者发布。

何时使用 pytispark

TiSpark 版本 Spark 版本 是否需要 pytispark
< 2.0 < 2.3
2.4.x 2.3.x 2.4.x
2.5.x > 3.0
  • 在不支持 extension 的 Spark 2.3 之前,TiSpark 通过替换 Spark 类的方式来改变 Spark 执行计划。这带来了一个问题:当我们结合 TiSpark 和 Spark 相关工具使用时,还需要进行额外的适配工作。其中 pytispark 就是为 TiSpark 和 pyspark 结合使用而生。
  • Spark 2.3 之后推出了 extension ,TiSpark 抛弃了上述 hack 的方式转而使用 extension。理论上我们无需适配即可使用所有原生的 Spark 工具。但实际上,我们仍需 pytispark 来解决 [SPARK-25003] 带来的问题。需要明确的是,虽然同样是用了 pytispark ,但使用的目的是不一样的。
  • Spark 3.0 之后, [SPARK-25003] 已被解决,我们可以放心大胆的直接使用 pyspark 了

不使用 pytispark

Clone this wiki locally