2017-02-17 1 views
0

일부 json 데이터를 정리하려면 https://databricks.gitbooks.io/databricks-spark-knowledge-base/content/best_practices/dealing_with_bad_data.html의 조언을 따르고 있습니다.SparkSession을 사용하여 Json 라인의 데이터 세트를 Dataframe으로 변환

그러나 안내서가 오래되었고 sparkSession을 사용하여 데이터 세트를로드하고 json을 구문 분석하려고합니다.

spark.read.text('file.json').as[String].map(x => parse_json(x)) 

그래서 나는 는 내가 어떻게 데이터 세트에서 JSON의 행을 읽어 않는 대신 RDD[String]Dataset[String]으로 끝났다?

+1

이 spark.read.text ('file.json')를 시도 JSON 파일을 읽고 사람의 데이터 세트에 매핑됩니다.지도를 (X => parse_json (X)). RDD – Pushkr

+0

@Pushkr 예, 작품 – user113531

답변

0

예상되는 구조로 케이스 클래스 (java pojo와 유사)를 정의하고 입력 데이터를 매핑합니다. 열은 자동으로 이름순으로 정렬되며 유형은 보존됩니다.

{"name": "Narsireddy", "age": 30, "technology": "hadoop"} 

로 person.json 고려 경우 클래스 사람과 같이 정의 할 경우 클래스 (이름 : 문자열, 연령 : 정수, 기술 : 문자열).

val personDataSet = sqlContext.read.json("/person.json").as[Person] 
관련 문제