PySparkでは、この事前定義されたスキーマを使用してスキーマを定義し、データソースを読み取ることができます。 NS。:
_Schema = StructType([ StructField("temperature", DoubleType(), True),
StructField("temperature_unit", StringType(), True),
StructField("humidity", DoubleType(), True),
StructField("humidity_unit", StringType(), True),
StructField("pressure", DoubleType(), True),
StructField("pressure_unit", StringType(), True)
])
_
いくつかのデータソースでは、データソースからスキーマを推測し、このスキーマ定義でデータフレームを取得することが可能です。
データフレームからスキーマ定義(上記の形式)を取得することは、データが以前に推測されていますか?
df.printSchema()
スキーマをツリーとして印刷するが、上記のように定義されたスキーマを再利用する必要があるので、このスキーマを別のデータソースから以前に推測したデータソースを読み取ることができます。
PysparkからDDL文字列を探している場合:
df: DataFrame = spark.read.load('LOCATION')
schema_json = df.schema.json()
ddl = spark.sparkContext._jvm.org.Apache.spark.sql.types.DataType.fromJson(schema_json).toDDL()
_