scala – 带有组装jar的spark-cassandra-connector的NoSuchMetho
我是Scala的新手,我正在尝试建立一个Spark工作.我已经构建了一个包含DataStax连接器的ajob并将其组装成一个胖罐.当我尝试执行它时,它失败并出现java.lang.NoSuchMethodError.我已经破解了JAR,可以看到包含了DataStax库.我错过了一些明显的东西吗有关这个过程的好教程吗?
谢谢 安慰 build.sbt name := "soofa-spark" version := "0.0.1" scalaVersion := "2.11.7" // additional libraries libraryDependencies += "org.apache.spark" %% "spark-core" % "1.6.0" % "provided" libraryDependencies += "com.datastax.spark" %% "spark-cassandra-connector" % "1.5.0-M3" libraryDependencies += "com.typesafe" % "config" % "1.3.0" mergeStrategy in assembly <<= (mergeStrategy in assembly) { (old) => { case m if m.toLowerCase.endsWith("manifest.mf") => MergeStrategy.discard case m if m.startsWith("META-INF") => MergeStrategy.discard case PathList("javax","servlet",xs @ _*) => MergeStrategy.first case PathList("org","apache","jboss",xs @ _*) => MergeStrategy.first case "about.html" => MergeStrategy.rename case "reference.conf" => MergeStrategy.concat case _ => MergeStrategy.first } } CasCountJob.scala package org.bobbrez // Spark import org.apache.spark.{SparkContext,SparkConf} import com.datastax.spark.connector._ object CasCountJob { private val AppName = "CasCountJob" def main(args: Array[String]) { println("Hello world from " + AppName) val keyspace = args(0) val tablename = args(1) println("Keyspace: " + keyspace) println("Table: " + tablename) // Configure and create a Scala Spark Context. val conf = new SparkConf(true) .set("spark.cassandra.connection.host","HOSTNAME") .set("spark.cassandra.auth.username","USERNAME") .set("spark.cassandra.auth.password","PASSWORD") .setAppName(AppName) val sc = new SparkContext(conf) val rdd = sc.cassandraTable(keyspace,tablename) println("Table Count: " + rdd.count) System.exit(0) } } 解决方法
Spark 1.6的Cassandra连接器仍在开发中,尚未发布.
对于将Cassandra与Spark集成,您至少需要以下依赖项: – > Spark-Cassandra连接器 – 从here下载适当的版本 here提到了适当版本的Cassandra Libraries和Spark的映射 显然,Spark 1.5的Cassandra连接器也在开发中,您可能会看到一些兼容性问题. Cassandra连接器最稳定的版本适用于Spark 1.4,它需要以下Jar文件: – > Spark-Cassandra connector 不用说,所有这些jar文件都应该被配置并可供执行者使用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 量角器angularJS全局变量
- java – 连接到在Docker中运行的HBase
- 将Vim中的shift-tab映射到Vim中的inverse选项卡
- CXF开发webservice需要的jar包
- 像Twitter Bootstrap的Android吗?
- .Net remoting, Webservice,WCF基础
- Angular+Electron+VSCode的桌面应用开发入门笔记(1)
- angular – 使用异步管道在模板中的多个位置使用相同的obse
- AngularJS系列——表达式、常用指令和过滤器
- twitter-bootstrap-3 – Joomla 3.2.2中的Bootstrap 3工具提