Как мне написать из Spark в несколько разделов? - PullRequest
0 голосов
/ 16 мая 2018

У меня есть небольшой файл размером всего 1,5 КБ, который записывается в S3 всего лишь в 1 файл. Я бы хотел записать его в S3 в виде нескольких файлов деталей для проверки разбиения, но у меня возникли проблемы. Как мне это настроить? Есть ли что-то, что я должен делать иначе, чем здесь?

from pyspark.sql.types import LongType, StringType, StructField, StructType, BooleanType, ArrayType, IntegerType, TimestampType

spark = SparkSession \
    .builder \
    .appName("Python Spark SQL basic example") \
    .config("spark.ui.enabled", "true") \
    .config("spark.default.parallelism", "4") \
    .config("spark.files.maxPartitionBytes", "500") \
    .master("yarn-client") \
    .getOrCreate()

myschema = StructType([\
                         StructField("field1", TimestampType(), True), \
                         StructField("field2", TimestampType(), True), \
                         StructField("field3", StringType(), True),
                         StructField("field4", StringType(), True), \
                         StructField("field5", StringType(), True)
                         ])

mydf= spark.read.load("s3a://bucket/myfile.csv",\
                     format="csv", \
                     sep=",", \
                     # inferSchema="true", \
                     timestampFormat="MM/dd/yyyy HH:mm:ss",
                     header="true",
                     schema=scheduled_schema
                    )

mydf.coalesce(5) 

df_scheduled.write.csv(path="s3a://bucket/output",\
                     header="true",
                    )
...