2016-02-05 2 views
0

Я читаю файл с CSV-файлом с помощью Spark SQL Context.Как преобразовать выходной сигнал данных Spark в json?

Код:

m.put("path", CSV_DIRECTORY+file.getOriginalFilename()); 
m.put("inferSchema", "true"); // Automatically infer data types else string by default 
m.put("header", "true");  // Use first line of all files as header   
m.put("delimiter", ";"); 

DataFrame df = sqlContext.load("com.databricks.spark.csv",m);    
df.printSchema(); 

Получение имен столбцов и тип данных с df.printSchema()

O/P:

|--id : integer (nullable = true) 
|-- ApplicationNo: string (nullable = true) 
|-- Applidate: timestamp(nullable = true) 

Какой тип возвращение printSchema заявление. Как преобразовать вывод в формате JSON, Как преобразовать фрейм данных в JSON ??

Желаемая O/P:

{"column":"id","datatype":"integer"} 

ответ

2

ТипДанных имеет метод JSON() и метод с fromJson(), который можно использовать для сериализации/десериализации схемы.

val df = sqlContext.read().....load() 
val jsonString:String = df.schema.json() 
val schema:StructType = DataType.fromJson(jsonString).asInstanceOf[StructType] 
+0

Thanks @Hamel df.schema(). Json(); выполнил эту работу. – Devz

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