gpt4 book ai didi

java - [spark-cassandra-connector]如何在spark 2.3.1中将scala隐式支持的代码转换为java

转载 作者:行者123 更新时间:2023-12-02 09:59:45 25 4
gpt4 key购买 nike

我正在尝试将spark-cassandra使用的项目从scala_2.11重构为java_1.8。我正在使用spark-sql_2.11-2..3.1和spark-cassandra-connector_2.11-2.3.1。现在我正在尝试将代码重构为 java 1.8。

我几乎没有使用隐式和 DataFrame。

import com.datastax.spark.connector._
import spark.implicits._
&
import org.apache.spark.sql.DataFrame

现在如何将它们转换为等效的 java 代码?有样本吗?

DataFrame 的导入无法识别/定义,在 scala 2.11 中工作正常,但现在无法工作...

我在这里做错了什么?如何解决?

最佳答案

Java 中没有 DataFrame 这样的东西 - 它始终是 Row 类的 DataSet。在 Scala 中,有一个简单的别名...

以下是通过 spark.sql 从 Cassandra 读取数据的 Java 代码的最小示例:

import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
import org.apache.spark.sql.SparkSession;

public class SparkTest1 {

public static void main(String[] args) {
SparkSession spark = SparkSession
.builder()
.appName("CassandraSpark")
.getOrCreate();

Dataset<Row> sqlDF = spark.sql("select * from datastax.vehicle limit 1000");
sqlDF.printSchema();
sqlDF.show();
}

}

或者可以通过 spark.read ( full code ) 完成:

Dataset<Row> dataset = spark.read()
.format("org.apache.spark.sql.cassandra")
.options(ImmutableMap.of("table", "jtest", "keyspace", "test"))
.load();

关于java - [spark-cassandra-connector]如何在spark 2.3.1中将scala隐式支持的代码转换为java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55726463/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com