Closed cd-rnukala closed 7 years ago
how are you specifying the memsql-connector
dependency in your build.sbt
?
it appears to not have bundled the memsql and jdbc dependencies which may happen if you specify
"provided"
for the memsql-connector
dependency.
a valid build.sbt
could look like this:
lazy val root = (project in file(".")).
settings(
name := "my-memsql-spark-job",
version := "0.0.1",
scalaVersion := "2.10.5",
parallelExecution in Test := false,
libraryDependencies ++= Seq(
"org.apache.spark" %% "spark-core" % "1.5.2" % "provided",
"org.apache.spark" %% "spark-sql" % "1.5.2" % "provided",
"org.apache.spark" %% "spark-streaming" % "1.5.2" % "provided",
"com.memsql" %% "memsql-connector" % "1.3.3"
)
)
Closing due to inactivity
Below is my code snippet:
import com.typesafe.config.ConfigFactory import org.apache.spark.sql.{DataFrame, SQLContext} import org.apache.spark.{SparkConf, SparkContext} import org.slf4j.LoggerFactory
object SSPInventoryLoaderJob {
val logger = LoggerFactory.getLogger(getClass)
def main(args: Array[String]) { // create Spark context with Spark configuration val sc = new SparkContext(new SparkConf().setAppName("Spark Count").setMaster("local[*]")) val sql = new SQLContext(sc) val host = "xx.xx.xx.xx" val port = 3306 val dbName = "xxxx" val user = "xxxx" val password = "xxxx" val tableName = "xxx"
} }
Error: Exception in thread "main" java.sql.SQLException: No suitable driver found for jdbc:mysql://xx.xx.xx.xxxx:3306 at java.sql.DriverManager.getConnection(DriverManager.java:689) at java.sql.DriverManager.getConnection(DriverManager.java:247) at com.memsql.spark.context.MemSQLContext$.getMemSQLConnection(MemSQLContext.scala:41) at com.memsql.spark.context.MemSQLContext$.getMemSQLChildAggregators(MemSQLContext.scala:49) at com.memsql.spark.context.MemSQLContext$.getMemSQLNodesAvailableForIngest(MemSQLContext.scala:101) at com.memsql.spark.connector.RDDFunctions.saveToMemSQL(RDDFunctions.scala:86) at com.memsql.spark.connector.DataFrameFunctions.saveToMemSQL(DataFrameFunctions.scala:65) at com.cadreon.atv.ranker.SSPInventoryLoaderJob$.main(SSPInventoryLoaderJob.scala:39) at com.cadreon.atv.ranker.SSPInventoryLoaderJob.main(SSPInventoryLoaderJob.scala) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:731) at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:181) at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:206) at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:121) at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)