Как вы работаете это искра, один подход должен был бы преобразовать панды DataFrame в Спарк DataFrame, а затем сохранить это в S3.
фрагмент кода ниже создает pdf
панды DataFrame и преобразует его в df
Спарк DataFrame.
import numpy as np
import pandas as pd
# Create Pandas DataFrame
d = {'one' : pd.Series([1., 2., 3.], index=['a', 'b', 'c']),
'two' : pd.Series([1., 2., 3., 4.], index=['a', 'b', 'c', 'd'])}
pdf = pd.DataFrame(d)
# Convert Pandas DataFrame to Spark DataFrame
df = spark.createDataFrame(pdf)
df.printSchema()
Для проверки, мы можем также распечатать схему для искрового DataFrame с ниже выхода.
root
|-- one: double (nullable = true)
|-- two: double (nullable = true)
Теперь, когда это искра DataFrame, вы можете использовать spark-csv
пакет, чтобы сохранить файл с приведенном ниже примере.
# Save Spark DataFrame to S3
df.write.format('com.databricks.spark.csv').options(header='true').save('123.csv')
может быть что-то, как это будет вас покинуть на хорошее начало: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_csv.html Пишущие его в буфер будет хорошо работать с http://boto3.readthedocs.io/en/latest/reference/services/s3.html#S3.Client.put_object. Обратите внимание: вам не нужно записывать его на жесткий диск только для записи на s3. Фактически, как 'to_csv()', так и 'put_object', похоже, поддерживают буферы, которые были бы очень эффективными. –