PySpark和SparkSQL之间有区别吗?如果是这样,有什么区别?



长话短说,我的任务是从SparkSQL转换文件到PySpark作为我新工作的第一项任务。

然而,我看不出语法之外有什么不同。SparkSQL是PySpark的早期版本还是它的一个组件或完全不同的东西?

是的,这是我第一次使用这些工具。但是,我对Python和amp;SQL,所以这似乎不是一个困难的任务。只是想更好地了解。

我所指的语法差异示例:

spark.read.table("db.table1").alias("a")
.filter(F.col("a.field1") == 11)
.join(
other = spark.read.table("db.table2").alias("b"),
on = 'field2',
how = 'left'

df = spark.sql(
"""
SELECT b.field1,
CASE WHEN ...
THEN ...
ELSE ...
end field2
FROM db.table1 a
LEFT JOIN db.table2 b 
on a.field1= b.field1
WHERE a.field1= {}
""".format(field1)
)

来自文档:PySpark是一个接口,其中包含spark的组件,即spark core, SparkSQL, spark Streaming和spark MLlib。

说到分配给你的任务,看起来你的任务是将sql繁重的代码转换成更适合pyspark的格式。

相关内容

最新更新