Я пытаюсь подключиться к снежинке из Pyspark на моей локальной машине.
Мой код выглядит следующим образом.
from pyspark import SparkConf, SparkContext
from pyspark.sql import SQLContext
from pyspark.sql.types import *
from pyspark import SparkConf, SparkContext
sc = SparkContext("local", "sf_test")
spark = SQLContext(sc)
spark_conf = SparkConf().setMaster('local').setAppName('sf_test')
sfOptions = {
"sfURL" : "someaccount.some.address",
"sfAccount" : "someaccount",
"sfUser" : "someuser",
"sfPassword" : "somepassword",
"sfDatabase" : "somedb",
"sfSchema" : "someschema",
"sfWarehouse" : "somedw",
"sfRole" : "somerole",
}
SNOWFLAKE_SOURCE_NAME = "net.snowflake.spark.snowflake"
Я получаю сообщение об ошибке при запуске этого конкретного фрагмента кода .
df = spark.read.format(SNOWFLAKE_SOURCE_NAME).options(**sfOptions).option("query","""select * from
"PRED_ORDER_DEV"."SALES"."V_PosAnalysis" pos
ORDER BY pos."SAPAccountNumber", pos."SAPMaterialNumber" """).load()
Py4JJavaError: Произошла ошибка при вызове o115.load. : java .lang.ClassNotFoundException: Не удалось найти источник данных: net .snowflake.spark.snowflake. Пожалуйста, найдите пакеты в http://spark.apache.org/third-party-projects.html в орг. apache .spark. sql .execution.datasources.DataSource $ .lookupDataSource (DataSource. scala: 657) в орг. apache. spark. sql .DataFrameReader.load (DataFrameReader. scala: 194) в орг. apache .spark. sql .DataFrameReader.load (DataFrameReader. scala: 167)
Я загрузил файлы коннектора и jdb c jar и добавил их в CLASSPATH
pyspark --packages net.snowflake:snowflake-jdbc:3.11.1,net.snowflake:spark-snowflake_2.11:2.5.7-spark_2.4
CLASSPATH = C:\Program Files\Java\jre1.8.0_241\bin;C:\snowflake_jar
Я хочу иметь возможность подключаться к снежинке и читать данные с помощью Pyspark. Любая помощь будет высоко ценится!