1
나는 json 행으로 구성된 Dataset<String> ds
이 있습니다.Json String 배열을 Spark 2.2.0의 특정 열의 데이터 집합으로 변환하는 방법은 무엇입니까?
샘플 JSON 행
[
"{"name": "foo", "address": {"state": "CA", "country": "USA"}, "docs":[{"subject": "english", "year": 2016}]}",
"{"name": "bar", "address": {"state": "OH", "country": "USA"}, "docs":[{"subject": "math", "year": 2017}]}"
]
ds.printSchema() (이 데이터 세트에서 한 행의 단지 예입니다)
root
|-- value: string (nullable = true)
지금 나는 다음과 같은 데이터 세트로 변환 할 Spark 2.2.0을 사용하여
name | address | docs
----------------------------------------------------------------------------------
"foo" | {"state": "CA", "country": "USA"} | [{"subject": "english", "year": 2016}]
"bar" | {"state": "OH", "country": "USA"} | [{"subject": "math", "year": 2017}]
Jav 하지만 스칼라 잘 한 자바 API에서 사용할 수있는 기능이 있기 때문에 또한
다음지금까지
val df = Seq("""["{"name": "foo", "address": {"state": "CA", "country": "USA"}, "docs":[{"subject": "english", "year": 2016}]}", "{"name": "bar", "address": {"state": "OH", "country": "USA"}, "docs":[{"subject": "math", "year": 2017}]}" ]""").toDF
df.show (false)를
|value |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|["{"name": "foo", "address": {"state": "CA", "country": "USA"}, "docs":[{"subject": "english", "year": 2016}]}", "{"name": "bar", "address": {"state": "OH", "country": "USA"}, "docs":[{"subject": "math", "year": 2017}]}" ]|