我在spark中使用Python,下面的代码是做什么的?
jvm = sc._jvm
jsc = sc._jsc
fs = jvm.org.apache.hadoop.fs.FileSystem.get(jsc.hadoopConfiguration())
if fs.exists(jvm.org.apache.hadoop.fs.Path(loc+"_SUCCESS")):
df=spark.read.parquet(loc)
df.write.mode("overwrite").parquet(hdfs_bkp_loc)
else:
1条答案
按热度按时间pn9klfpd1#
由于Spark是用基于JVM的语言Scala编写的,PySpark有一个在后台运行的JVM来实际运行spark代码。
sc._jvm
是进入JVM的网关,sc._jsc
是Java Spark上下文,它是进入JVM中SparkContext的代理。您发布的代码片段基本上调用了一些Java函数来检查某个路径是否存在,然后从那里读取一些数据并将其写入另一个位置。
不建议使用这些
_jsc
成员,而且很少需要它们。