长话短说,我的任务是将文件从SparkSQL转换为PySpark,这是我新工作的第一个任务。
但是,我看不到语法之外的许多差异。SparkSQL 是 PySpark 的早期版本还是它的组件还是完全不同的东西?
是的,这是我第一次使用这些工具。但是,我对 Python 和 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'
Run Code Online (Sandbox Code Playgroud)
相对
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)
)
Run Code Online (Sandbox Code Playgroud)