我是Spark的新手,遇到以下麻烦:当我尝试使用以下方法导入SQLContext时:

import org.apache.spark.sql.SQLContext;

或尝试显式初始化SQLContext变量:
SQLContext sqlContext = new org.apache.spark.sql.SQLContext(sc);

我从Eclipse中得到一个错误:



我已经将Spark放入依赖项文件中,除SQLContext之外,其他一切都很好。整个代码:
package main.java;

import java.io.Serializable;

import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaSparkContext;

import org.apache.spark.sql.SQLContext;

public class SparkTests {
    public static void main(String[] args){
        SparkConf conf = new SparkConf().setAppName("SparkMain");
        JavaSparkContext sc = new JavaSparkContext(conf);
        SQLContext sqlContext = new org.apache.spark.sql.SQLContext(sc);

        //DataFrame df = sqlContext
        System.out.println("\n\n\nHello world!\n\n\n");
    }
}

当我尝试使用mvn package进行编译时,出现编译错误:



为什么找不到SQL包的任何想法?

编辑:

依赖文件pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <groupId>edu.berkeley</groupId>
    <artifactId>simple-project</artifactId>
    <modelVersion>4.0.0</modelVersion>
    <name>Simple Project</name>
    <packaging>jar</packaging>
    <version>1.0</version>
    <dependencies>
        <dependency> <!-- Spark dependency -->
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.10</artifactId>
            <version>1.6.1</version>
        </dependency>
    </dependencies>
</project>

最佳答案

如果要在项目中使用Spark SQL或DataFrames,则必须添加spark-sql Artifact 作为依赖项。在这种情况下:

<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-sql_2.10</artifactId> <!-- matching Scala version -->
    <version>1.6.1</version>  <!-- matching Spark Core version -->
</dependency>

应该做到的。

09-30 18:39