【发布时间】:2016-09-17 14:58:36
【问题描述】:
我有一个奇怪的错误,我正在尝试将数据写入配置单元,它在 spark-shell 中运行良好,但是当我使用 spark-submit 时,它抛出默认错误中找不到数据库/表。
以下是我尝试在 spark-submit 中编写的编码,我使用的是 spark 2.0.0 的自定义构建
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
sqlContext.table("spark_schema.iris_ori")
以下是我正在使用的命令,
/home/ec2-user/Spark_Source_Code/spark/bin/spark-submit --class TreeClassifiersModels --master local[*] /home/ec2-user/Spark_Snapshots/Spark_2.6/TreeClassifiersModels/target/scala-2.11/treeclassifiersmodels_2.11-1.0.3.jar /user/ec2-user/Input_Files/defPath/iris_spark SPECIES~LBL+PETAL_LENGTH+PETAL_WIDTH RAN_FOREST 0.7 123 12
以下是错误,
16/05/20 09:05:18 信息 SparkSqlParser:解析命令:spark_schema.measures_20160520090502 线程“主”org.apache.spark.sql.AnalysisException 中的异常:数据库“spark_schema”不存在; 在 org.apache.spark.sql.catalyst.catalog.ExternalCatalog.requireDbExists(ExternalCatalog.scala:37) 在 org.apache.spark.sql.catalyst.catalog.InMemoryCatalog.tableExists(InMemoryCatalog.scala:195) 在 org.apache.spark.sql.catalyst.catalog.SessionCatalog.tableExists(SessionCatalog.scala:360) 在 org.apache.spark.sql.DataFrameWriter.saveAsTable(DataFrameWriter.scala:464) 在 org.apache.spark.sql.DataFrameWriter.saveAsTable(DataFrameWriter.scala:458) 在 TreeClassifiersModels$.main(TreeClassifiersModels.scala:71) 在 TreeClassifiersModels.main(TreeClassifiersModels.scala) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:497) 在 org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:726) 在 org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:183) 在 org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:208) 在 org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:122) 在 org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
【问题讨论】:
-
能否粘贴错误信息、hive-site.xml 和 spark-submit commad?
-
hi @user1314742 添加了命令和错误信息
-
在您提供的代码中,我看不到您在哪里使用了导致问题的数据库
iaw_model_summary -
对不起,它的
spark_schema只是,iaw_model_summary是另一个数据库,它也无法正常工作。它是spark_schema的替代品。我更改了架构名称并测试了它是否工作。 -
您的数据库保存在哪里?在调用它们之前你确定它们存在吗?
标签: apache-spark hive spark-dataframe