相关疑难解决方法(0)

计算Spark SQL DSL中的字符串长度

编辑:这是一个关于Spark 1.2的老问题

为了达到目的,我一直在尝试计算SchemaRDD中字符串列的长度.我正在学习Spark SQL,所以我的问题严格来说是使用Spark或Spark SQL公开的SQL接口,或者了解它们的局限性.

我的第一次尝试就是使用集成的关系查询

notes.select('note).orderBy(length('note))
Run Code Online (Sandbox Code Playgroud)

在编译时没有运气:

error: not found: value length
Run Code Online (Sandbox Code Playgroud)

(这让我想知道在哪里可以找到这个DSL实际上可以解决的"表达式".例如,它为列添加解析了"+".)

然后我试了一下

sql("SELECT note, length(note) as len FROM notes")
Run Code Online (Sandbox Code Playgroud)

这失败了

java.util.NoSuchElementException: key not found: length
Run Code Online (Sandbox Code Playgroud)

(然后我重读了这个(我正在运行1.2.0) http://spark.apache.org/docs/1.2.0/sql-programming-guide.html#supported-hive-features 并想知道Spark SQL是什么意思支持列出的蜂巢功能.)

问题:表达式和/或SQL语句中真正支持的长度运算符是什么?如果是,语法是什么?(奖励:是否有关于Spark SQL Expressions中解决的内容的特定文档,以及一般的语法是什么?)

谢谢!

string-length apache-spark apache-spark-sql

5
推荐指数
2
解决办法
2万
查看次数