0
我試圖將數據插入到蜂巢表是這樣的:表未找到錯誤而載入數據框成蜂巢分區
val partfile = sc.textFile("partfile")
val partdata = partfile.map(p => p.split(","))
val partSchema = StructType(Array(StructField("id",IntegerType,true),StructField("name",StringType,true),StructField("salary",IntegerType,true),StructField("dept",StringType,true),StructField("location",StringType,true)))
val partRDD = partdata.map(p => Row(p(0).toInt,p(1),p(2).toInt,p(3),p(4)))
val partDF = sqlContext.createDataFrame(partRDD, partSchema)
包我的輸入:
import org.apache.spark.sql.Row
import org.apache.spark.sql.Row
import org.apache.spark.sql.types.{StructType,StructField,StringType,IntegerType}
import org.apache.spark.sql.types._
這是我怎麼想將數據幀插入Hive分區:
partDF.write.mode(saveMode.Append).partitionBy("location").insertInto("parttab")
即使我擁有Hive表,我仍然得到下面的錯誤:
org.apache.spark.sql.AnalysisException: Table not found: parttab;
有人能告訴我什麼是我在這裏做的錯誤,我該如何糾正它?
你能告訴你在哪裏指定數據幀嗎? – Sidhartha
我試過像這樣: scala> hc.sql(「insert into parttab partition(location ='India')select ptab」)中的id,name,salary,dept,location)。 獲取錯誤: 導致:錯誤XJ040:無法使用類加載器啓動數據庫'metastore_db'[email protected]ac587b,org.apache.derby.iapi.error .StandardException.newException(Unknown Source) at org.apache.derby.impl.jdbc.SQLExceptionFactory.wrapArgsForTransportAcrossDRDA(Unknown Source) 錯誤XSDB6:另一個Derby實例可能已經引導了數據庫/ home/cloudera/metastore_db 。 – Sidhartha
當你在spark shell中運行時,你不應該實例化一個實例名稱爲「hc」的HiveContext,它會自動創建一個名爲sqlContext的實例。 (該名稱具有誤導性 - 如果您將Hive編譯爲Spark,它將成爲HiveContext)。請參閱類似的討論:'https:// issues.apache.org/jira/browse/SPARK-9776'。 –