Подключение локального хранилища объектов OCI в pysparkPython

Программы на Python
Ответить
Anonymous
 Подключение локального хранилища объектов OCI в pyspark

Сообщение Anonymous »

Я пытаюсь прочитать файлы из объектного хранилища OCI в локальном хранилище (ноутбуке), но получаю ошибку.

Код: Выделить всё

WARN FileStreamSink: Assume no metadata directory. Error while looking for metadata directory in the path: oci://bucketv@namespace/20241124001206--file.parquet
org.apache.hadoop.fs.UnsupportedFileSystemException: No FileSystem for scheme "oci"
используемый код

Код: Выделить всё

from pyspark.sql import SparkSession
from pyspark import SparkConf
conf = SparkConf()
oci_hdfs_jar_path = "/Users/home/oci-hdfs-connector-3.3.4.1.4.2.jar"
conf.set("spark.jars", oci_hdfs_jar_path)
conf.set("spark.hadoop.fs.oci.client.auth.tenantId", config["tenancy"])
conf.set("spark.hadoop.fs.oci.client.auth.userId", config["user"])
conf.set("spark.hadoop.fs.oci.client.auth.fingerprint", config["fingerprint"])
conf.set("spark.hadoop.fs.oci.client.auth.privateKeyFile", config["key_file"])
conf.set("spark.hadoop.fs.oci.client.auth.region", config["region"])
conf.set("spark.hadoop.fs.oci.impl", "oracle.hadoop.fs.oci.OCIFileSystem")
#conf.set("fs.oci.client.hostname", "https://objectstorage.{0}.oraclecloud.com".format(config["region"]))
#conf.set("fs.oci.client.apache.connection.closing.strategy", "immediate")
spark = SparkSession.builder.appName('test').config(conf=conf).getOrCreate()

new_files=[]
bucket_name = 'bucket'
namespace='namespace'
file_name='20241124001206--file.parquet'
new_files.append(f"oci://{bucket_name}@{namespace}/{file_name}")
df1 = spark.read.parquet(*new_files)
df1.show()
Версия pyspark — 3.4.1

Подробнее здесь: https://stackoverflow.com/questions/792 ... in-pyspark
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»