使用pyspark从S3导入时丢失数据

时间:2018-08-09 21:05:36

标签: amazon-s3 pyspark apache-spark-sql databricks

我正在使用Databricks从AWS S3存储桶加载数据。 我将在其中执行分析并将其写回到另一个S3存储桶。我以为我的导入代码可以正常工作,直到我发现某些字段以空值形式出现。

我已经使用AWS Athena检查了存储桶中的数据,并且没有空值。我使用的是正确的数据类型,已经检查了两次。

我要查看代码中是否存在任何看不见的错误?

from pyspark.sql.functions import *
from pyspark.sql.types import *

field = [StructField("converteddate", TimestampType(), True),\
          StructField("eventdate", TimestampType(), True),\
          StructField("year", StringType(), True),\
          StructField("month", StringType(), True),\
          StructField("day", StringType(), True),\
          StructField("userid", StringType(), True)]

schema = StructType(field)

loadName = '/mnt/master-data/year=2018/month=07/day=12/'

data = spark.read.format('parquet')\
                 .options(header='false', inferSchema='false')\
                 .schema(schema)\
                 .load(loadName)\
                 .toDF("converteddate",\
                       "eventdate",\
                       "year",\
                       "month",\
                       "day",\
                       "userid")

0 个答案:

没有答案