Импортировать схему на фрейм pyspark - PullRequest
0 голосов
/ 11 ноября 2019

Я новичок в питоне. Я пытаюсь прочитать файл JSON, который содержит определение моей схемы. Это выглядит так:

{
  "type" : "struct",
  "fields" : [ {
    "name" : "name",
    "type" : "string",
    "nullable" : true,
    "metadata" : { }
  }, {
    "name" : "address",
    "type" : "string",
    "nullable" : true,
    "metadata" : { }
  }, {
    "name" : "comment",
    "type" : "string",
    "nullable" : true,
    "metadata" : { }
  }
}

У меня есть набор данных, и на этом мне нужно применить выше схему JSON, я попробовал ниже код:

targetDf = spark.createDataFrame(inputDf.rdd, schemaFieldsOne)

Однако здесь мне нужно указать 'schemaFieldsOne' структурного типа, я хочу прочитать JSON и преобразовать его в структурный тип Python, чтобы я мог применить этот StructType к своему фрейму данных (.to add).

1 Ответ

1 голос
/ 11 ноября 2019

попробуйте

import pyspark.sql.types as T
import pyspark.sql.functions as F

with open('./schema.txt', 'r') as S:  # path to your schema file
    saved_schema = json.load(S)

schema = T.StructType.fromJson(json.loads(saved_schema))

df = spark.createDataFrame(yourRdd, schema)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...