![](/img/trans.png)
[英]Spark Scala API: No typeTag available in spark.createDataFrame in official example
[英]spark.createDataFrame () not working with Seq RDD
CreateDataFrame帶有2個參數,rdd和schema。
我的架構是這樣的
val schemas= StructType( Seq( StructField("number",IntegerType,false), StructField("notation", StringType,false) ) )
在一種情況下,我可以從RDD創建數據框,如下所示:
`val data1=Seq(Row(1,"one"),Row(2,"two"))
val rdd=spark.sparkContext.parallelize(data1)
val final_df= spark.createDataFrame(rdd,schemas)`
在下面的其他情況下..我無法
`val data2=Seq((1,"one"),(2,"two"))
val rdd=spark.sparkContext.parallelize(data2)
val final_df= spark.createDataFrame(rdd,schemas)`
data2出了什么問題,因為它無法成為Dataframe的有效rdd?
但是我們可以使用帶有數據2的toDF()創建數據幀,但不能使用CreateDataFrame創建數據幀。
val data2_DF = Seq((1,“ one”),(2,“ two”))。toDF(“ number”,“ notation”)
請幫助我了解這種行為。
創建數據框時,Row是強制性的嗎?
在第二種情況下,只需執行以下操作:
val final_df = spark.createDataFrame(rdd)
因為您的RDD是Tuple2
的RDD(這是一個Product
),所以該架構在編譯時是已知的,因此您無需指定架構
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.