0
no1 1|3|4 no2 4|5|6
다음과 같은 텍스트 데이터를하고 난 스파크 RDD 및 스칼라 언어를 사용하여 다음과 같이 위의 데이터를 변환 할 수 있습니다.
no1 1 no1 3 no1 4 no2 4 no2 5 no2 6
저는 Spark와 Scala에 매우 익숙합니다. 그리고 저는 이것을하는 어떤 예도 찾을 수 없습니다.
no1 1|3|4 no2 4|5|6
다음과 같은 텍스트 데이터를하고 난 스파크 RDD 및 스칼라 언어를 사용하여 다음과 같이 위의 데이터를 변환 할 수 있습니다.
no1 1 no1 3 no1 4 no2 4 no2 5 no2 6
저는 Spark와 Scala에 매우 익숙합니다. 그리고 저는 이것을하는 어떤 예도 찾을 수 없습니다.
파일을 RDD API보다 미래의 스파크 버전에 중점을 둔 데이터 프레임으로 읽는 것이 좋습니다. 귀하의 코멘트에 대한
val df = Seq(("no1", "1|3|4"), ("no2", "4|5|6")).toDF("A", "B")
// df: org.apache.spark.sql.DataFrame = [A: string, B: string]
df.show
+---+-----+
| A| B|
+---+-----+
|no1|1|3|4|
|no2|4|5|6|
+---+-----+
df.withColumn("B", explode(split($"B", "\\|"))).show
+---+---+
| A| B|
+---+---+
|no1| 1|
|no1| 3|
|no1| 4|
|no2| 4|
|no2| 5|
|no2| 6|
+---+---+
감사 : 그리고 데이터 프레임, 당신이 요구하는 작업은
split
와explode
기능을 가진 매우 간단합니다. 데이터 txt 파일을 가지고 있고 그것을 수동으로 타이핑하지 않고 입력하고 싶다면, 사용자 입력 파일에 대한 명령을 어떻게 얻는가? – sclee1@ sclee1 Spark을 배우기. 저는 겁 먹지 않고 있습니다. 단지 일련의 질문에서부터 [SO]까지만 응용 프로그램을 작성할 수 있습니다. Spark 튜토리얼에서는 파일 읽기에 대해 다룰 것입니다. –
스파크 버전에 따라 파일의 읽기가 다릅니다. spark 2+의 경우,'spark.read.option ("header", "true") 옵션 ("inferSchema", "true") csv (당신의 파일)'을 사용하는 것이 편리합니다. – Psidom