在Scala中返回临时Spark SQL表

首先,我使用将CSV文件转换为Spark DataFrame

val df = sqlContext.read.format("com.databricks.spark.csv").option("header","true").load("/usr/people.csv")

在那种类型的df和返回后我可以看到

res30: org.apache.spark.sql.DataFrame = [name: string,age: string,gender: string,deptID: string,salary: string]

然后我使用df.registerTempTable(“people”)将df转换为Spark sql表.

但是在那之后,当我做人们而不是得到类型表,我得到了

<console>:33: error: not found: value people

是因为人们是临时桌子吗?

谢谢

解决方法

使用您使用的registerTempTable命令注册临时表时,它将在sqlContext中可用.

这意味着以下内容不正确,将为您提供错误

scala> people.show
<console>:33: error: not found: value people

要使用临时表,您需要使用sqlContext调用它.示例:

scala> sqlContext.sql("select * from people")

注意:df.registerTempTable(“df”)将注册一个临时表,其名称df对应于应用该方法的DataFrame.

所以坚持df不会坚持表,但DataFrame,甚至认为sqlContext将使用该DataFrame.

相关文章

共收录Twitter的14款开源软件,第1页Twitter的Emoji表情 Tw...
Java和Scala中关于==的区别Java:==比较两个变量本身的值,即...
本篇内容主要讲解“Scala怎么使用”,感兴趣的朋友不妨来看看...
这篇文章主要介绍“Scala是一种什么语言”,在日常操作中,相...
这篇文章主要介绍“Scala Trait怎么使用”,在日常操作中,相...
这篇文章主要介绍“Scala类型检查与模式匹配怎么使用”,在日...