sql - 使用 Spark SQL 跳过/获取

标签 sql scala apache-spark datastax-enterprise apache-spark-sql

如何使用 Spark SQL 实现跳过/获取查询(典型的服务器端网格分页)。我已经在网上搜索过了,只能在这里找到非常基本的示例,例如: https://databricks-training.s3.amazonaws.com/data-exploration-using-spark-sql.html

我没有看到像 T-SQL 那样的 ROW_NUMBER() 或 OFFSET/FETCH 的任何概念。有谁知道如何做到这一点?

类似于:

scala > csc.sql("select * from users skip 10 limit 10").collect()

最佳答案

尝试这样的事情:

val rdd = csc.sql("select * from <keyspace>.<table>")
val rdd2 = rdd.view.zipWithIndex()
rdd2.filter(x => { x._2 > 5 && x._2 < 10;}).collect()
rdd2.filter(x => { x._2 > 9 && x._2 < 12;}).collect()

关于sql - 使用 Spark SQL 跳过/获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30260134/

相关文章:

java - 如何让Spark作业完成后自动重启?

java - SQL 查询可在 MySQL 中运行,但不能在 Java 中运行

sql - SQL Server 2008 上的 "Cannot specify decimal(5,2) data type (parameter 4) as a substitution parameter"错误

scala - 在 Specs2 中使用可变的 Before/After/Around

scala - 如何在 Flink 中使用多个计数器

scala - 比较两个列表 - Scala

apache-spark - 从org.apache.hadoop.mapreduce.lib.input.FileInputFormat.getSplits到 Guava 的StopWatch的IllegalAccessError

mysql - 在 sql 语句中使 where 子句可选

c# - Sql查询到linq的转换

java - 如何在 hadoop 中禁用 native zlib 压缩库