Итак, я пытаюсь импортировать данные, в которых есть столбец типа Pig map, в фрейм данных spark, и я не смог найти ничего о том, как мне разбить данные карты на 3 столбца с именами: улица, город и штат,Я, наверное, ищу не ту вещь.Прямо сейчас я могу импортировать их в 3 столбца, используя параметры StructType и StructField.
val schema = StructType(Array(
StructField("id", IntegerType, true),
StructField("name", StringType, true),
StructField("address", StringType, true))) #this is the part that I need to explode
val data = sqlContext.read.format("com.databricks.spark.csv")
.option("header", "false")
.option("delimiter", ";")
.schema(schema)
.load("hdfs://localhost:8020/filename")
Пример строки данных, из которой мне нужно сделать 5 столбцов из:
328;Some Name;[street#streetname,city#Chicago,state#IL]
Что мне делатьнужно сделать, чтобы разбить карту на 3 столбца, чтобы у id был принципиально новый фрейм данных с 5 столбцами?Я только начал Spark, и я никогда не использовал свинью.Я только выяснил, что это была свиная карта в результате поиска в структуре [key # value].
Кстати, я использую spark 1.6 со Scala.Спасибо за любую помощь.