我试图获得一些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
答案 0 :(得分:1)
我建议您查看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%肯定在这些链接之间,您会找到您正在寻找的内容。
如果您之后遇到任何问题,请随时更新您的问题并提出更具体的错误/问题。
答案 1 :(得分:1)
一般来说,
编译scala文件: $ scalac Main.scala
从Main.class文件创建您的java源文件: $ javap Main
以下网址提供了更多信息: http://alvinalexander.com/scala/scala-class-to-decompiled-java-source-code-classes
答案 2 :(得分:1)
只需将您的数据导入t_test
并应用所需的汇总:
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
分别存储表名和键空间。