[英]Read JSON file in pyspark to create schema struct type in python
[英]Using Pyspark how to read JSON file and create schema
我有一个 JSON 文件,格式如下。 如何使用 PYSPARK 函数读取它并为此创建模式 -
{
"Entry": {
"DataType": "Integer",
"Length": "7",
"Required": "True",
"Description": "Enrty"
},
"Per": {
"DataType": "String",
"Length": "2",
"Required": "True",
"Description": "Per"
}
}
您可以执行以下操作以从您拥有的json
文件中获取schema
from pyspark.sql import types as t
def getDataType(DataType):
if DataType == 'Float':
return t.FloatType()
elif DataType == 'Integer':
return t.IntegerType()
elif DataType == 'Date':
return t.DateType()
elif DataType == 'Double':
return t.DoubleType()
else:
return t.StringType()
def getNullable(Required):
if Required == 'True':
return True
else:
return False
df = spark.read.option('multiline', True).json('path to json file')
schema = t.StructType([t.StructField(x['Description'], getDataType(x['DataType']), getNullable(x['Required'])) for x in df.rdd.first()])
所以schema
应该是
StructType(List(StructField(Enrty,IntegerType,true),StructField(Per,StringType,true)))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.