Я просто следую примеру в Spark - полное руководство (глава 5):
from pyspark.sql.types import StructField, StructType, StringType, LongType
myManualSchema = StructType([
StructField('DEST_COUNTRY_NAME', StringType(), True),
StructField('ORIGIN_COUNTRY_NAME', StringType(), True),
StructField('count', LongType(), False, metadata={'hello': 'world'})])
df = spark.read.format('json').schema(myManualSchema).load('/data/flight-data/json/2015-summary.json')
Но когда я печатаю схему, она показывает, что count
по-прежнему обнуляется , Есть причина почему? Я использую PySpark (Spark 2.4.5) в Zeppelin docker 0.8.1.
print(myManualSchema)
print(df.schema)
>>> StructType(List(StructField(DEST_COUNTRY_NAME,StringType,true),StructField(ORIGIN_COUNTRY_NAME,StringType,true),StructField(count,LongType,false)))
>>> StructType(List(StructField(DEST_COUNTRY_NAME,StringType,true),StructField(ORIGIN_COUNTRY_NAME,StringType,true),StructField(count,LongType,true)))