gpt4 book ai didi

sql - 为什么 "error: not found: value StructType"在 sql 模式创建时?

转载 作者:行者123 更新时间:2023-12-04 22:35:03 24 4
gpt4 key购买 nike

我在CentOS 6.2上安装了CDH5 1.0.0版本的Spark,运行没有报错。

尝试运行某些 Spark SQL 时遇到错误。我可以很好地启动我的 Spark shell ...

spark-shell --master spark://mysparkserver:7077

然后我运行来自 Spark SQL Programming Guide 的编程指南中的示例 Scala 脚本之一.

scala> val sqlContext = new org.apache.spark.sql.SQLContext(sc)

scala> val vehicle = sc.textFile("/tmp/scala.csv")

scala> val schemaString = "year manufacturer model class engine cylinders fuel consumption clkm hlkm cmpg hmpg co2lyr co2gkm"

scala> import org.apache.spark.sql._

scala > val schema =
StructType
(
schemaString.split(" ").map(fieldName =>
StructField(fieldName, StringType, true))
)

但是import语句好像没有起作用?因为最后一行给出了一个错误

scala> StructType
<console>:14: error: not found: value StructType
StructType
^

我知道 StructTypeorg.apache.spark.sql.api.java.StructType。如果我将模式行中的 StructType 替换为全名,错误就会改变。

有没有其他人遇到过这个错误?是否需要我缺少额外的步骤?

最佳答案

您的问题是您正在阅读最新版本 Spark 的编程指南,并在 Spark 1.0.0 上试用它。唉,org.apache.spark.sql.api.java.StructType 是在 Spark 1.1.0 中引入的,“以编程方式指定模式”部分也是如此。

因此,如果不升级,您将无法执行此操作——除非您能够使用 1.0.0 指南“在 RDD 上运行 SQL”部分中的技术,而在 1.1. 0 称为“使用反射推断模式”。 (基本上,如果您可以容忍固定的 Schema。)

如果您查看各种文档 URL,您希望将 latest 替换为 1.0.0。如有疑问,我喜欢调出多个版本的 API 文档并进行搜索。我注意到,与 javadoc 一样,scaladoc 有一个 @since 注释,用于使 API 文档中的信息更清晰,但它没有在 Spark API 文档中使用。

关于sql - 为什么 "error: not found: value StructType"在 sql 模式创建时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25821172/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com