이 행을 데이터 프레임으로 변환하려면 어떻게해야합니까?배열 [행]을 DataFrame으로 변환하는 방법
val oneRowDF = myDF.first // gives Array[Row]
감사
이 행을 데이터 프레임으로 변환하려면 어떻게해야합니까?배열 [행]을 DataFrame으로 변환하는 방법
val oneRowDF = myDF.first // gives Array[Row]
감사
는 the scaladocs 한 번 봐 - 당신이 얻을 필요가 의미, 여기 RDD[Row]
을 권 해드립니다. makeRDD으로 가장 쉬워야합니다. 에 해당하는 스키마가 필요합니다. 어느 것이 가능합니까 directly pull from it입니다.
... 처음에 Array[Row]
을 얻었습니까?
당신은 그렇게하고 싶지 않아 :
그냥 limit
API를 사용하여 전체 dataFrame의 서브 파트를합니다.
예 : 아직도 당신은 지금 당신이 적절하게 표시 할 수 있습니다 명시 적으로 DataFrame에 배열 [행]을, 당신은 따라서
scala> val value=d.take(1)
value: Array[org.apache.spark.sql.Row] = Array([1,3])
scala> val asTuple=value.map(a=>(a.getInt(0),a.getInt(1)))
asTuple: Array[(Int, Int)] = Array((1,3))
scala> sc.parallelize(asTuple).toDF
res6: org.apache.spark.sql.DataFrame = [_1: int, _2: int]
과 같은 것을 할 수있는 변환 할 경우
scala> val d=sc.parallelize(Seq((1,3),(2,4))).toDF
d: org.apache.spark.sql.DataFrame = [_1: int, _2: int]
scala> d.show
+---+---+
| _1| _2|
+---+---+
| 1| 3|
| 2| 4|
+---+---+
scala> d.limit(1)
res1: org.apache.spark.sql.Dataset[org.apache.spark.sql.Row] = [_1: int, _2: int]
scala> d.limit(1).show
+---+---+
| _1| _2|
+---+---+
| 1| 3|
+---+---+
!
답 : df1은 테스트 용 - val df1 = sc.parallelize(List("a", 1")).toDF("text", "y")
의 DataFrame [텍스트 : 문자열, y : int]입니다.
val dfFromArray = sparkContext.parallelize(arr).map(row => (row.getString(0), row.getInt(1)))
.toDF("text", "y");
실행할 수 있습니다 :
val schema = StructType(
StructField("text", StringType, false) ::
StructField("y", IntegerType, false) :: Nil)
val arr = df1.head(3); // Array[Row]
val dfFromArray = sqlContext.createDataFrame(sparkContext.parallelize(arr), schema);
또한 병렬화 된 배열을지도하고 모든 행을 시전 할 수
val dfFromArray = sparkContext.parallelize(Seq(row)).map(row => (row.getString(0), row.getInt(1)))
.toDF("text", "y");
스파크 2.0 사용 SparkSession에서
대신는 SqlContext을 .
List<Row>
이있는 경우 spark.createDataFrame(List<Row> rows, StructType schema)
을 사용하여 dataframe
또는 dataset<Row>
을 직접 생성하는 데 사용할 수 있습니다. 스파크가있는 곳 2.x의 스파크 세션 2.
왜 downvote? 질문에 대한 100 % 답변, 테스트 및 작동 –
동의 함, 나는 이것이 받아 들여진 응답이어야한다고 생각합니다. – belka
@BelkacemLahouel 감사합니다 :) 도움이된다고 표명 해 주시면 감사하겠습니다. :) –