Hi,

I've made a simple script in scala that after doing a spark sql query it
sends the result to AWS's cloudwatch.

I've tested both parts individually (the spark sql one and the
cloudwatch one) and they worked fine. The trouble comes when I execute
the script through spark-submit that gives me the following exception:

Exception in thread "main" java.lang.NoSuchMethodError:
org.apache.http.params.HttpConnectionParams.setSoKeepalive(Lorg/apache/http/params/HttpParams;Z)V
        at
        
com.amazonaws.http.HttpClientFactory.createHttpClient(HttpClientFactory.java:95)
        at
        com.amazonaws.http.AmazonHttpClient.<init>(AmazonHttpClient.java:193)
        at
        
com.amazonaws.AmazonWebServiceClient.<init>(AmazonWebServiceClient.java:120)
        at
        
com.amazonaws.AmazonWebServiceClient.<init>(AmazonWebServiceClient.java:104)
        at
        
com.amazonaws.services.cloudwatch.AmazonCloudWatchClient.<init>(AmazonCloudWatchClient.java:171)
        at
        
com.amazonaws.services.cloudwatch.AmazonCloudWatchClient.<init>(AmazonCloudWatchClient.java:152)
        at
        
com.scmspain.synapse.SynapseMonitor$.sendMetrics(SynapseMonitor.scala:50)
        at
        com.scmspain.synapse.SynapseMonitor$.main(SynapseMonitor.scala:45)
        at
        com.scmspain.synapse.SynapseMonitor.main(SynapseMonitor.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:483)
        at
        org.apache.spark.deploy.SparkSubmit$.launch(SparkSubmit.scala:328)
        at
        org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:75)
        at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)

my class is com.scmspain.synapse.SynapseMonitor

I've build my script with sbt assembly, having the following
dependencies:

libraryDependencies ++= Seq(
  "org.apache.spark" %% "spark-core" % "1.1.0" % "provided",
  "org.apache.spark" %% "spark-sql" % "1.1.0" % "provided",
  "com.amazonaws" % "aws-java-sdk-cloudwatch" % "1.9.10"
)

I've unzipped the generated jar assembly and searched for the
HttpConnectionParams.class and I've found it out under
org/apache/http/params and having the following signature for
setSoKeepalive:

    public static void setSoKeepalive(HttpParams params, boolean
    enableKeepalive)

At this point I'm stuck and didn't know where to keep looking... some
help would be greatly appreciated :)

Thank you very much!

-- 
  Albert Manyà
  alber...@eml.cc

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@spark.apache.org
For additional commands, e-mail: user-h...@spark.apache.org

Reply via email to