如何使用 Spark DataFrame 计算 Cassandra table 上的汇总统计信息?
How to compute summary statistic on Cassandra table with Spark DataFrame?
我正在尝试获取某些 Cassandra/SPARK 数据的最小值、最大值平均值,但我需要使用 JAVA 来完成。
import org.apache.spark.sql.DataFrame;
import static org.apache.spark.sql.functions.*;
DataFrame df = sqlContext.read()
.format("org.apache.spark.sql.cassandra")
.option("table", "someTable")
.option("keyspace", "someKeyspace")
.load();
df.groupBy(col("keyColumn"))
.agg(min("valueColumn"), max("valueColumn"), avg("valueColumn"))
.show();
已编辑以显示工作版本:
确保将 " 放在 someTable 和 someKeyspace
周围
我建议查看 https://github.com/datastax/spark-cassandra-connector/tree/master/spark-cassandra-connector-demos
其中包含 Scala 和同等语言的演示 Java。
您还可以查看:http://spark.apache.org/documentation.html
其中有大量示例,您可以在 Scala、Java 和 Python 版本之间切换。
我几乎 100% 肯定在这些链接之间,您会找到您正在寻找的内容。
如果在那之后您遇到任何问题,请随时使用更具体的 error/problem 更新您的问题。
一般来说,
编译scala文件:
$ scalac Main.scala
从 Main.class 文件创建 java 源文件:
$ javap 主要
更多信息可在以下url获得:
http://alvinalexander.com/scala/scala-class-to-decompiled-java-source-code-classes
只需将您的数据导入为 DataFrame
并应用所需的聚合:
import org.apache.spark.sql.DataFrame;
import static org.apache.spark.sql.functions.*;
DataFrame df = sqlContext.read()
.format("org.apache.spark.sql.cassandra")
.option("table", someTable)
.option("keyspace", someKeyspace)
.load();
df.groupBy(col("keyColumn"))
.agg(min("valueColumn"), max("valueColumn"), avg("valueColumn"))
.show();
其中 someTable
和 someKeyspace
分别存储 table 名称和键空间。
我正在尝试获取某些 Cassandra/SPARK 数据的最小值、最大值平均值,但我需要使用 JAVA 来完成。
import org.apache.spark.sql.DataFrame;
import static org.apache.spark.sql.functions.*;
DataFrame df = sqlContext.read()
.format("org.apache.spark.sql.cassandra")
.option("table", "someTable")
.option("keyspace", "someKeyspace")
.load();
df.groupBy(col("keyColumn"))
.agg(min("valueColumn"), max("valueColumn"), avg("valueColumn"))
.show();
已编辑以显示工作版本: 确保将 " 放在 someTable 和 someKeyspace
周围我建议查看 https://github.com/datastax/spark-cassandra-connector/tree/master/spark-cassandra-connector-demos
其中包含 Scala 和同等语言的演示 Java。
您还可以查看:http://spark.apache.org/documentation.html
其中有大量示例,您可以在 Scala、Java 和 Python 版本之间切换。
我几乎 100% 肯定在这些链接之间,您会找到您正在寻找的内容。
如果在那之后您遇到任何问题,请随时使用更具体的 error/problem 更新您的问题。
一般来说,
编译scala文件: $ scalac Main.scala
从 Main.class 文件创建 java 源文件: $ javap 主要
更多信息可在以下url获得: http://alvinalexander.com/scala/scala-class-to-decompiled-java-source-code-classes
只需将您的数据导入为 DataFrame
并应用所需的聚合:
import org.apache.spark.sql.DataFrame;
import static org.apache.spark.sql.functions.*;
DataFrame df = sqlContext.read()
.format("org.apache.spark.sql.cassandra")
.option("table", someTable)
.option("keyspace", someKeyspace)
.load();
df.groupBy(col("keyColumn"))
.agg(min("valueColumn"), max("valueColumn"), avg("valueColumn"))
.show();
其中 someTable
和 someKeyspace
分别存储 table 名称和键空间。