2016-10-20 6 views
2

У меня есть источник данных, который хранится как большое количество gsipped-файлов csv. Информация заголовка для этого источника представляет собой отдельный файл.Могу ли я автоматически загружать заголовки csv из отдельного файла для искрового окна scala на Zeppelin?

Я хотел бы загрузить эти данные в искру для манипуляций - есть ли простой способ получить искру, чтобы выяснить схему/загрузить заголовки? Есть буквально сотни столбцов, и они могут переключаться между прогонами, предпочитают не делать этого вручную

ответ

3

Это можно сделать легко исправить: , если ваш файл заголовка: headers.csv, и он содержит только заголовок то просто сначала загрузить этот файл с заголовком установлен как истинный:

val headerCSV = spark.read.format("CSV").option("header","true").load("/home/shivansh/Desktop/header.csv") 

затем получить столбцы в виде массива:

val columns = headerCSV.columns 

Тогда читайте другой файл без информации заголовка и передать этот файл как гребень r:

spark.read.format("CSV").load("/home/shivansh/Desktop/fileWithoutHeader.csv").toDF(columns:_*) 

Это приведет к тому, что DF будет комбинированным значением!

 Смежные вопросы

  • Нет связанных вопросов^_^