Поздний ответ на этот вопрос, однако он продолжает появляться в моем поиске, поэтому я полагаю, что предоставлю метод, который использовал, и, возможно, он поможет другим пользователям.
Я использую pyarrow для чтения файла паркета из объекта s3, а затем преобразую его в кадр данных pandas. Затем я могу преобразовать этот фрейм данных pandas, используя сеанс spark, в фрейм данных spark.
import boto3
import pandas as pd
import io
import pyarrow.parquet as pq
from pyspark.context import SparkContext
from pyspark.sql.session import SparkSession
sc = SparkContext('local') #Pyspark normally has a spark context (sc) configured so this may not be necessary, use this if calling a python script using spark-submit
spark = SparkSession(sc) #This is used to convert the pandas dataframe to a spark dataframe
s3 = boto3.resource(/
service_name='s3',/
use_ssl=False,/
aws_access_key_id='S3_ACCESS_KEY_ID',/
aws_secret_access_key='S3_ACCESS_KEY',/
endpoint_url='S3_URL')
bucket_name = 'BUCKET_NAME'
object_name = 'OBJECT_NAME'
buffer = io.BytesIO()
s3_object = s3.Object(bucket_name,object_name)
s3_object.download_fileobj(buffer)
table = pq.read_table(buffer)
df = table.to_pandas()
df_spark = spark.createDataFrame(df) #**Conversion from pandas df to spark df**
Все, что вам нужно, это сеанс spark для преобразования кадра данных pandas в кадр данных spark. Я включаю дополнительную информацию для pyarrow, так как этот пост появляется при поиске pyarrow.