org.apache.spark.sql.AnalysisException:将数据插入 Hive 表时找不到表

元数据

我正在尝试使用以下代码将数据框插入到 Hive 表中:

import org.apache.spark.sql.SaveMode
import org.apache.spark.sql._
val hiveCont =  val hiveCont = new org.apache.spark.sql.hive.HiveContext(sc)
val empfile = sc.textFile("empfile")
val empdata = empfile.map(p => p.split(","))
case class empc(id:Int, name:String, salary:Int, dept:String, location:String)
val empRDD  = empdata.map(p => empc(p(0).toInt, p(1), p(2).toInt, p(3), p(4)))
val empDF   = empRDD.toDF()
empDF.registerTempTable("emptab")

我在 Hive 中有一个表,其中包含以下 DDL:

# col_name              data_type               comment             

id                      int                                         
name                    string                                      
salary                  int                                         
dept                    string                                      

# Partition Information      
# col_name              data_type               comment             

location                string           

我正在尝试将临时表插入到 hive 表中,如下所示:

hiveCont.sql("insert into parttab select id, name, salary, dept from emptab")

这是一个例外:

org.apache.spark.sql.AnalysisException: Table not found: emptab. 'emptab' is the temp table created from Dataframe

在这里,我了解到 hivecontext 将在 Spark 的“HIVE”上运行查询,但在那里找不到表,因此导致异常。但我不明白如何解决这个问题。谁能告诉我如何解决这个问题?

桑迪普·辛格

您正在将 RDD 隐式转换为数据帧,但您没有导入隐式对象,因此 RDD 不会被转换为数据帧。在导入中包含以下行。

// this is used to implicitly convert an RDD to a DataFrame.
import sqlContext.implicits._

此外,案例类必须在顶级定义 - 它们不能嵌套。所以你的最终代码应该是这样的:

import org.apache.spark._
import org.apache.spark.sql.hive.HiveContext;
import org.apache.spark.sql.DataFrame
import org.apache.spark.rdd.RDD
import org.apache.spark.sql._
import sqlContext.implicits._

val hiveCont = new org.apache.spark.sql.hive.HiveContext(sc)
case class Empc(id:Int, name:String, salary:Int, dept:String, location:String)
val empFile = sc.textFile("/hdfs/location/of/data/")
val empData = empFile.map(p => p.split(","))
val empRDD = empData.map(p => Empc(p(0).trim.toInt, p(1), p(2).trim.toInt, p(3), p(4)))
val empDF = empRDD.toDF()
empDF.registerTempTable("emptab")

如果您将 a 转换StringInteger. 我也将其包含在上面的代码中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从org.apache.spark.sql.Row中提取信息

来自分类Dev

在spark中使用Hive上下文时出错:object hive不是包org.apache.spark.sql的成员

来自分类Dev

org.apache.spark.sql.Row转换为Int

来自分类Dev

Spark-sql:无法实例化org.apache.hadoop.hive.metastore.HiveMetaStoreClient

来自分类Dev

Spark作业在Hive数据库中找不到表

来自分类Dev

如何将Array [org.apache.spark.sql.Row]转换为Array [Int]

来自分类Dev

将Spark RDD保存到Hive表

来自分类Dev

spark - scala: not a member of org.apache.spark.sql.Row

来自分类Dev

java.lang.ClassNotFoundException:org.apache.spark.sql.Dataset

来自分类Dev

Spark 1.5.2:org.apache.spark.sql.AnalysisException:未解决的运算符'Union;

来自分类Dev

Amazon EMR和S3,org.apache.spark.sql.AnalysisException:路径s3://..../var/table已存在

来自分类Dev

值registerAsTable不是org.apache.spark.sql.DataFrame的成员

来自分类Dev

关于使用Scala创建jar文件时的org.apache.spark.sql.AnalysisException错误

来自分类Dev

解析异常-org.apache.spark.sql.catalyst.parser.ParseException:

来自分类Dev

org.apache.spark.sql.AnalysisException:无法解析pyspark中给定的输入栏'sub_tot'

来自分类Dev

org.apache.spark.sql.AnalysisException:

来自分类Dev

增量表插入无法正常工作,使用-org.apache.spark.sql.AnalysisException读取错误:表不支持读取

来自分类Dev

将列表项映射到org.apache.spark.sql.Column类型

来自分类Dev

当DataFrame和Hive表中的字段名称存在大小写不匹配时,找不到Spark SQL 1.6密钥

来自分类Dev

使用蜂巢上下文运行查询时出现Spark-hive异常:org.apache.spark.sql.AnalysisException

来自分类Dev

NoSuchMethodError:org.apache.spark.sql.SQLContext.sql

来自分类Dev

使用 Spark SQL 的 Cassandra 简单插入语句因 org.apache.spark.sql.catalyst.parser.ParseException 而失败

来自分类Dev

找不到 org.apache.spark.sql.Encoder[String] 类型的证据参数的隐式值

来自分类Dev

org.apache.spark.sql.AnalysisException 调用 saveAsTable 时

来自分类Dev

r sparklyr spark_apply 错误:org.apache.spark.sql.AnalysisException:引用“id”不明确

来自分类Dev

org.apache.spark.sql.AnalysisException:无法识别表达式规范中“num”附近的输入:“=”;

来自分类Dev

'spark on hive' - 引起:java.lang.ClassNotFoundException:org.apache.hive.spark.counter.SparkCounters

来自分类Dev

org.apache.spark.sql.AnalysisException:无法解析给定输入列的“AB”:无法解析 spark sql 查询中的变量

来自分类Dev

找不到类'org.apache.hadoop.hive.kafka.KafkaStorageHandler'

Related 相关文章

  1. 1

    从org.apache.spark.sql.Row中提取信息

  2. 2

    在spark中使用Hive上下文时出错:object hive不是包org.apache.spark.sql的成员

  3. 3

    org.apache.spark.sql.Row转换为Int

  4. 4

    Spark-sql:无法实例化org.apache.hadoop.hive.metastore.HiveMetaStoreClient

  5. 5

    Spark作业在Hive数据库中找不到表

  6. 6

    如何将Array [org.apache.spark.sql.Row]转换为Array [Int]

  7. 7

    将Spark RDD保存到Hive表

  8. 8

    spark - scala: not a member of org.apache.spark.sql.Row

  9. 9

    java.lang.ClassNotFoundException:org.apache.spark.sql.Dataset

  10. 10

    Spark 1.5.2:org.apache.spark.sql.AnalysisException:未解决的运算符'Union;

  11. 11

    Amazon EMR和S3,org.apache.spark.sql.AnalysisException:路径s3://..../var/table已存在

  12. 12

    值registerAsTable不是org.apache.spark.sql.DataFrame的成员

  13. 13

    关于使用Scala创建jar文件时的org.apache.spark.sql.AnalysisException错误

  14. 14

    解析异常-org.apache.spark.sql.catalyst.parser.ParseException:

  15. 15

    org.apache.spark.sql.AnalysisException:无法解析pyspark中给定的输入栏'sub_tot'

  16. 16

    org.apache.spark.sql.AnalysisException:

  17. 17

    增量表插入无法正常工作,使用-org.apache.spark.sql.AnalysisException读取错误:表不支持读取

  18. 18

    将列表项映射到org.apache.spark.sql.Column类型

  19. 19

    当DataFrame和Hive表中的字段名称存在大小写不匹配时,找不到Spark SQL 1.6密钥

  20. 20

    使用蜂巢上下文运行查询时出现Spark-hive异常:org.apache.spark.sql.AnalysisException

  21. 21

    NoSuchMethodError:org.apache.spark.sql.SQLContext.sql

  22. 22

    使用 Spark SQL 的 Cassandra 简单插入语句因 org.apache.spark.sql.catalyst.parser.ParseException 而失败

  23. 23

    找不到 org.apache.spark.sql.Encoder[String] 类型的证据参数的隐式值

  24. 24

    org.apache.spark.sql.AnalysisException 调用 saveAsTable 时

  25. 25

    r sparklyr spark_apply 错误:org.apache.spark.sql.AnalysisException:引用“id”不明确

  26. 26

    org.apache.spark.sql.AnalysisException:无法识别表达式规范中“num”附近的输入:“=”;

  27. 27

    'spark on hive' - 引起:java.lang.ClassNotFoundException:org.apache.hive.spark.counter.SparkCounters

  28. 28

    org.apache.spark.sql.AnalysisException:无法解析给定输入列的“AB”:无法解析 spark sql 查询中的变量

  29. 29

    找不到类'org.apache.hadoop.hive.kafka.KafkaStorageHandler'

热门标签

归档