Я прочитал несколько веток по этому вопросу, но не нашел однозначного ответа.
Я запускаю локально в контейнере (mac os + podman)
scala: 'version 2.12.17'
pyspark: 3.4.0
spark-3.4.0
python 3.11.4
Я запускаю контейнер, определенный в Compose (источник: https://github.com/mzrks/pyspark-devcon ... vcontainer)version: '3'
services:
app:
build:
context: ..
dockerfile: .devcontainer/Dockerfile
args:
PYTHON_VARIANT: 3.11
JAVA_VARIANT: 17
volumes:
- ..:/workspace:cached
command: sleep infinity
pyspark:
image: jupyter/pyspark-notebook:spark-3.4.0
environment:
- JUPYTER_ENABLE_LAB=yes
ports:
- 8888:8888
У меня есть почти все, что я мог найти, чтобы получить эту работу:
from pyspark.sql import SparkSession
## I have also tried below
import os
os.environ['PYSPARK_SUBMIT_ARGS'] = '--packages net.snowflake:snowflake-jdbc:3.17.0,net.snowflake:spark-snowflake_2.12:2.16.0-spark_3.4 pyspark-shell'
## with and without what I have put here in packages_so and repository
packages_so = 'net.snowflake:snowflake-jdbc:3.4.0,net.snowflake:spark-snowflake_2.12:2.11.0-spark_3.4'
repository = "https://repo1.maven.org/maven2"
## I have tried multiple versions of above, I dont really get what should the version
## numbers read like? other than the spark_3.4 means spark version?
spark = ( SparkSession
.builder
.master("local[*]")
.appName("spark_docker")
# .config("spark.jars.packages", "net.snowflake:snowflake-jdbc:3.17.0,net.snowflake:spark-snowflake_2.12:2.16.0-spark_3.4")
.config("spark.jars.packages", packages_so) \
.config("spark.jars.repositories", repository)
.getOrCreate()
)
sf_options = {
"sfURL": "url",
"sfUser": "user",
"sfPassword": "pass",
"sfDatabase": "SNOWFALL",
"sfSchema": "PIPELINE",
"sfWarehouse": "COMPUTE_WH",
"sfRole": "role",
}
SNOWFLAKE_SOURCE_NAME = "snowflake" # also "net.snowflake.spark.snowflake"
sdf: DataFrame = (
spark.read.format(SNOWFLAKE_SOURCE_NAME)
.options(**sf_options)
.option("dbtable", "SNOWFALL.PIPELINE.MYTABLE")
.option("fetchsize", "10000")
.load()
)
sdf.show(vertical=True, n=2)
spark.stop()
Я также пытался запустить в своей оболочке контейнера (источник: https://www.phdata.io/blog/how-to-conne ... ing-spark/):
spark-shell --packages net.snowflake:snowflake-jdbc:3.17.0,spark-snowflake_2.12:2.16.0-spark_3.4
Я просто не понимаю, как добавить файл JAR в этот экземпляр, чтобы соединение работало
и моя ошибка всегда приводит к следующему:
Py4JJavaError: An error occurred while calling o152.load.
: org.apache.spark.SparkClassNotFoundException: [DATA_SOURCE_NOT_FOUND] Failed to find the data source: snowflake. Please find packages at `https://spark.apache.org/third-party-projects.html`.
Подробнее здесь: https://stackoverflow.com/questions/791 ... ages-error
Соединитель Snowflake с ошибкой пакетов JAR pyspark ⇐ Python
Программы на Python
-
Anonymous
1731514004
Anonymous
Я прочитал несколько веток по этому вопросу, но не нашел однозначного ответа.
Я запускаю локально в контейнере (mac os + podman)
scala: 'version 2.12.17'
pyspark: 3.4.0
spark-3.4.0
python 3.11.4
Я запускаю контейнер, определенный в Compose (источник: https://github.com/mzrks/pyspark-devcontainer/tree/master/.devcontainer)version: '3'
services:
app:
build:
context: ..
dockerfile: .devcontainer/Dockerfile
args:
PYTHON_VARIANT: 3.11
JAVA_VARIANT: 17
volumes:
- ..:/workspace:cached
command: sleep infinity
pyspark:
image: jupyter/pyspark-notebook:spark-3.4.0
environment:
- JUPYTER_ENABLE_LAB=yes
ports:
- 8888:8888
У меня есть почти все, что я мог найти, чтобы получить эту работу:
from pyspark.sql import SparkSession
## I have also tried below
import os
os.environ['PYSPARK_SUBMIT_ARGS'] = '--packages net.snowflake:snowflake-jdbc:3.17.0,net.snowflake:spark-snowflake_2.12:2.16.0-spark_3.4 pyspark-shell'
## with and without what I have put here in packages_so and repository
packages_so = 'net.snowflake:snowflake-jdbc:3.4.0,net.snowflake:spark-snowflake_2.12:2.11.0-spark_3.4'
repository = "https://repo1.maven.org/maven2"
## I have tried multiple versions of above, I dont really get what should the version
## numbers read like? other than the spark_3.4 means spark version?
spark = ( SparkSession
.builder
.master("local[*]")
.appName("spark_docker")
# .config("spark.jars.packages", "net.snowflake:snowflake-jdbc:3.17.0,net.snowflake:spark-snowflake_2.12:2.16.0-spark_3.4")
.config("spark.jars.packages", packages_so) \
.config("spark.jars.repositories", repository)
.getOrCreate()
)
sf_options = {
"sfURL": "url",
"sfUser": "user",
"sfPassword": "pass",
"sfDatabase": "SNOWFALL",
"sfSchema": "PIPELINE",
"sfWarehouse": "COMPUTE_WH",
"sfRole": "role",
}
SNOWFLAKE_SOURCE_NAME = "snowflake" # also "net.snowflake.spark.snowflake"
sdf: DataFrame = (
spark.read.format(SNOWFLAKE_SOURCE_NAME)
.options(**sf_options)
.option("dbtable", "SNOWFALL.PIPELINE.MYTABLE")
.option("fetchsize", "10000")
.load()
)
sdf.show(vertical=True, n=2)
spark.stop()
Я также пытался запустить в своей оболочке контейнера (источник: https://www.phdata.io/blog/how-to-connect-snowflake-using-spark/):
spark-shell --packages net.snowflake:snowflake-jdbc:3.17.0,spark-snowflake_2.12:2.16.0-spark_3.4
Я просто не понимаю, как добавить файл JAR в этот экземпляр, чтобы соединение работало
и моя ошибка всегда приводит к следующему:
Py4JJavaError: An error occurred while calling o152.load.
: org.apache.spark.SparkClassNotFoundException: [DATA_SOURCE_NOT_FOUND] Failed to find the data source: snowflake. Please find packages at `https://spark.apache.org/third-party-projects.html`.
Подробнее здесь: [url]https://stackoverflow.com/questions/79185754/snowflake-connector-with-pyspark-jar-packages-error[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия