Загрузка файла CSV из контейнера хранилища BLOB-объектов с помощью PySpark - PullRequest
0 голосов
/ 28 апреля 2019

Я не могу загрузить файл CSV напрямую из хранилища BLOB-объектов Azure в RDD с помощью PySpark в блокноте Jupyter.

Я прочитал почти все другие ответы на подобные проблемы, но у меня нетне нашел конкретных инструкций для того, что я пытаюсь сделать.Я знаю, что могу также загрузить данные в Блокнот с помощью Pandas, но потом мне нужно будет преобразовать Panda DF в RDD.

Мое идеальное решение будет выглядеть примерно так, но этот конкретный код даетмне ошибка, что он не может вывести схему для CSV.

#Load Data source = <Blob SAS URL> elog = spark.read.format("csv").option("inferSchema", "true").option("url",source).load()

Я также взглянул на этот ответ: чтение файла CSV из хранилища BLOB-объектов Azureс PySpark , но у меня возникают проблемы с определением правильного пути.

Большое спасибо за вашу помощь!

1 Ответ

0 голосов
/ 07 мая 2019

Вот мой пример кода с Pandas для чтения URL-адреса BLOB-объекта с токеном SAS и преобразования фрейма данных Pandas в PySpark.

Во-первых, чтобы получить объект данных Pandas через чтение URL-адреса BLOB-объекта.

import pandas as pd

source = '<a csv blob url with SAS token>'
df = pd.read_csv(source)
print(df)

Затем вы можете преобразовать его в PySpark.

from pyspark.sql import SparkSession

spark = SparkSession.builder.appName("testDataFrame").getOrCreate()
spark_df = spark.createDataFrame(df)
spark_df.show()

Или тот же результат с кодом ниже.

from pyspark.sql import SQLContext
from pyspark import SparkContext

sc = SparkContext()
sqlContest = SQLContext(sc)
spark_df = sqlContest.createDataFrame(df)
spark_df.show()

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...