为什么我不能导入org.apache.spark.sql.DataFrame

Jas*_*Shu 3 java apache-spark

我有Maven依赖spark-sql_2.1.0spark-hive_2.1.0.但是,当我尝试时import org.apache.spark.sql.DataFrame,有一个错误.但导入 org.apache.spark.sql.SQLContext没问题,没有错误.为什么?

T. *_*ęda 8

DataFrame已成为type DataFrame = Dataset[Row]Spark 2.x. Java没有类型别名,因此它在Java中不可用.您现在应该使用新类型Dataset<Row>,因此请同时导入org.apache.spark.sql.Datasetorg.apache.spark.sql.Row


Ram*_*jan 5

 import org.apache.spark.sql.DataFrame
Run Code Online (Sandbox Code Playgroud)

适用于scala而不适用于,java因为没有为 开发的库java。您可以按照Spark SQL、DataFrames 和 Datasets GuidedataSet中的说明使用

您可以导入以下内容

import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
Run Code Online (Sandbox Code Playgroud)

并将它们用作

Dataset<Row> peopleDataFrame = spark.createDataFrame(rowRDD, schema);
Run Code Online (Sandbox Code Playgroud)

或者

Dataset<Row> peopleDF = spark.createDataFrame(peopleRDD, Person.class);
Run Code Online (Sandbox Code Playgroud)

或者

Dataset<Row> usersDF = spark.read().load("examples/src/main/resources/users.parquet");
Run Code Online (Sandbox Code Playgroud)