Вывести безопасную схему из структурированного потокового фрейма данных в искре - PullRequest
0 голосов
/ 03 июля 2019

Я хотел вывести безопасную схему из данных JSON, полученных от Кафки.

df = spark.readStream.format("kafka").option("kafka.bootstrap.servers", "localhost:9092").option("subscribe", "input").option("auto.offset.reset", "latest").load()
jsonDF = df.selectExpr("CAST(value AS STRING) jsonData")

Существует несколько решений для stackoverflow:

  1. ссылка говорит, что нужно сохранить небольшой пакет в файл, вывести схему и затем использовать эту схему для потокового фрейма данных. Хотя этому вопросу год.
  2. link использует schema_of_json и lit, хотя я не могу заставить его работать с потоковыми DF.

Я знаю, что вывод схемы может быть опасным, но разрабатываемое мной приложение Spark имеет несколько источников с различными схемами (несколько столбцов). Есть ли способ, которым я могу создать схему на основе столбцов в данных json и принудительно привести их к String, чтобы предотвратить потерю данных.

...