Установите библиотеки Delta Lake на сервер без доступа к Интернету.

У меня есть сервер без доступа в Интернет, на котором я хотел бы использовать 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? Как я могу указать сеанс искры на правильные библиотеки


person Stephen    schedule 12.03.2021    source источник
comment
Вы можете скачать банку delta-core_2.12-0.8.0.jar и используйте его с параметром --jars в spark-submit или spark-shell/pyspark.   -  person blackbishop    schedule 12.03.2021
comment
Спасибо, вы поставили меня на правильный путь.   -  person Stephen    schedule 12.03.2021


Ответы (1)


Благодаря @blackbishop я нашел ответ как добавить сторонние файлы java-jar для использования в pyspark

для озера Дельта загрузите файл jar: delta-core

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")
12_0.8.0.jar

Вы можете добавить путь к файлу jar, используя конфигурацию Spark во время выполнения.

Вот пример:

    conf = SparkConf().set("spark.jars", "/path-to-jar/spark-streaming-kafka-0-8-assembly_2.11-2.2.1.jar")

sc = SparkContext( conf=conf)

Дополнительные сведения см. в документе.

Для ноутбука Юпитер:

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

person Stephen    schedule 20.04.2021