我有一台无法访问互联网的服务器,我想在其中使用 Delta Lake。 所以spark session 中正常使用Delta Lake是不行的。 从 pyspark.sql 导入 SparkSession
spark = SparkSession \
.builder \
.appName("...") \
.master("...") \
.config("spark.sql.extensions", "io.delta.sql.DeltaSparkSessionExtension") \
.config("spark.sql.catalog.spark_catalog", "org.apache.spark.sql.delta.catalog.DeltaCatalog") \
.getOrCreate()
我应该在哪里复制 Delta-lake github 存储库? 如何将 Spark session 指向正确的库
最佳答案
感谢@blackbishop,我找到了答案how-to-add-third-party-java-jar-files-for-use-in-pyspark
对于 Delta Lake,下载 jar 文件:delta-core_2_12_0.8.0.jar
您可以在运行时使用 Spark 配置添加 jar 文件的路径。
这是一个例子:
conf = SparkConf().set("spark.jars", "/path-to-jar/spark-streaming-kafka-0-8-assembly_2.11-2.2.1.jar")
sc = SparkContext( conf=conf)
请参阅document了解更多信息。
对于 Jupyter 笔记本:
spark = (SparkSession
.builder
.appName("Spark_Test")
.master('yarn-client')
.config("spark.sql.warehouse.dir", "/user/hive/warehouse")
.config("spark.executor.cores", "4")
.config("spark.executor.instances", "2")
.config("spark.sql.shuffle.partitions","8")
.enableHiveSupport()
.getOrCreate())
# Do this
spark.sparkContext.addPyFile("/path/to/jar/xxxx.jar")
链接到我找到它的来源:https://github.com/graphframes/graphframes/issues/104
关于apache-spark - 在没有互联网访问的服务器上安装 Delta Lake 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66600286/