一尘不染

如何使用Spark DataFrame在Cassandra表上计算摘要统计信息?

java

我正在尝试获取一些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”周围添加“


阅读 223

收藏
2020-12-03

共1个答案

一尘不染

只需将您的数据导入为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();

where someTablesomeKeyspace分别存储表名和键空间。

2020-12-03