[SCALA] 스파크에서 편평 행
SCALA스파크에서 편평 행
나는 스칼라를 사용하여 불꽃에 대한 몇 가지 테스트를하고있는 중이 야. 우리는 일반적으로 다음의 예처럼 조작 할 필요가 JSON 파일을 읽을 수 :
test.json :
{"a":1,"b":[2,3]}
val test = sqlContext.read.json("test.json")
어떻게 다음과 같은 형식으로 변환 할 수 있습니다 :
{"a":1,"b":2}
{"a":1,"b":3}
해결법
-
==============================
1.당신은 기능을 폭발 사용할 수 있습니다 :
당신은 기능을 폭발 사용할 수 있습니다 :
scala> import org.apache.spark.sql.functions.explode import org.apache.spark.sql.functions.explode scala> val test = sqlContext.read.json(sc.parallelize(Seq("""{"a":1,"b":[2,3]}"""))) test: org.apache.spark.sql.DataFrame = [a: bigint, b: array<bigint>] scala> test.printSchema root |-- a: long (nullable = true) |-- b: array (nullable = true) | |-- element: long (containsNull = true) scala> val flattened = test.withColumn("b", explode($"b")) flattened: org.apache.spark.sql.DataFrame = [a: bigint, b: bigint] scala> flattened.printSchema root |-- a: long (nullable = true) |-- b: long (nullable = true) scala> flattened.show +---+---+ | a| b| +---+---+ | 1| 2| | 1| 3| +---+---+
from https://stackoverflow.com/questions/32906613/flattening-rows-in-spark by cc-by-sa and MIT license
'SCALA' 카테고리의 다른 글
[SCALA] 어떻게 중복 된 열은 후 가입 피하기 위해? (0) | 2019.10.31 |
---|---|
[SCALA] 스칼라 문자 식별자에 대한 설명이 필요 (역 따옴표) (0) | 2019.10.31 |
[SCALA] 이해를 위해 스칼라에 불일치를 입력 (0) | 2019.10.31 |
[SCALA] 어떻게 경우 클래스 동반자에 적용 오버라이드 (override) (0) | 2019.10.31 |
[SCALA] 스칼라의 동반자 객체를 가진 뒤에있는 근거는 무엇입니까? (0) | 2019.10.31 |