【发布时间】:2017-01-12 11:04:21
【问题描述】:
下面是我用来从 apache spark java 程序连接到 oracle 本地数据库的代码,但是我遇到了以下错误。
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/Logging
at java.lang.ClassLoader.defineClass1(Native Method).
这是我的代码。
public static void main( String[] args ) {
JavaSparkContext sc = new JavaSparkContext(new SparkConf().setAppName("SparkJdbcDs").setMaster("local[*]"));
SQLContext sqlContext = new SQLContext(sc);
Map<String, String> options = new HashMap<String, String>();
options.put("url", "jdbc:oracle:thin:@//192.168.2.85:1521/stage");
options.put("dbtable", "AD_TABLES.brands");
DataFrame jdbcDF = sqlContext.read().format("jdbc").options(options).load();
}
下面是 POM 文件。
<dependency>
<groupId>com.databricks</groupId>
<artifactId>spark-csv_2.11</artifactId>
<version>1.5.0</version>
</dependency>
<dependency>
<groupId>com.univocity</groupId>
<artifactId>univocity-parsers</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-mllib_2.11</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.11</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.11</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.3</version>
</dependency>
【问题讨论】:
-
你能把堆栈跟踪放在这里吗?运行时您设置的类路径中似乎缺少某些类。
标签: java apache-spark apache-spark-sql apache-spark-mllib apache-spark-dataset