Access Single Store DB with Glue

0

I'm trying to connect Single Store cloud from Glue, while I tried to follow the step from the document as much as possible (documentation link)

Connector Used: "SingleStore connector for AWS Glue" (Marketplace)

However, getting an error. here is the stack trace,


File "/opt/amazon/lib/python3.7/site-packages/awsglue/dynamicframe.py", line 609, in from_options return self._glue_context.create_dynamic_frame_from_options(connection_type,

File "/opt/amazon/lib/python3.7/site-packages/awsglue/context.py", line 240, in create_dynamic_frame_from_options source = self.getSource(connection_type, format, transformation_ctx, push_down_predicate, **connection_options)

File "/opt/amazon/lib/python3.7/site-packages/awsglue/context.py", line 112, in getSource j_source = self._ssql_ctx.getSource(connection_type,

File "/opt/amazon/spark/python/lib/py4j-0.10.9.5-src.zip/py4j/java_gateway.py", line 1321, in __call__ return_value = get_return_value(

File "/opt/amazon/spark/python/lib/pyspark.zip/pyspark/sql/utils.py", line 190, in deco return f(*a, **kw)

File "/opt/amazon/spark/python/lib/py4j-0.10.9.5-src.zip/py4j/protocol.py", line 326, in get_return_value raise Py4JJavaError(

py4j.protocol.Py4JJavaError: An error occurred while calling o84.getSource. : java.lang.NoSuchMethodError: org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils$.createConnectionFactory(Lorg/apache/spark/sql/execution/datasources/jdbc/JDBCOptions;)Lscala/Function0; at com.singlestore.spark.JdbcHelpers$.getSinglestoreVersion(JdbcHelpers.scala:322) at com.singlestore.spark.SQLGen$SQLGenContext$.getSinglestoreVersion(SQLGen.scala:555) at com.singlestore.spark.SQLGen$SQLGenContext$.apply(SQLGen.scala:573) at com.singlestore.spark.DefaultSource.createRelation(DefaultSource.scala:57) at org.apache.spark.sql.execution.datasources.DataSource.resolveRelation(DataSource.scala:350) at org.apache.spark.sql.DataFrameReader.loadV1Source(DataFrameReader.scala:228) at org.apache.spark.sql.DataFrameReader.$anonfun$load$2(DataFrameReader.scala:210) at scala.Option.getOrElse(Option.scala:189) at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:210) at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:171) at com.amazonaws.services.glue.marketplace.connector.CustomDataSourceFactory$.loadSparkDataSource(CustomDataSourceFactory.scala:114) at com.amazonaws.services.glue.marketplace.connector.CustomDataSourceFactory$.loadDataSource(CustomDataSourceFactory.scala:40) at com.amazonaws.services.glue.GlueContext.getCustomSource(GlueContext.scala:229) at com.amazonaws.services.glue.GlueContext.getCustomSourceWithConnection(GlueContext.scala:539) at com.amazonaws.services.glue.GlueContext.getSourceInternal(GlueContext.scala:1034) at com.amazonaws.services.glue.GlueContext.getSource(GlueContext.scala:840) 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 py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244) at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357) at py4j.Gateway.invoke(Gateway.java:282) at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132) at py4j.commands.CallCommand.execute(CallCommand.java:79) at py4j.GatewayConnection.run(GatewayConnection.java:238) at java.lang.Thread.run(Thread.java:750)

(any other information please let me know) and if this has been addressed earlier, please direct to the post.

Thanks for the help in advance

asked 6 months ago158 views
1 Answer
0

That means the connector is not compatible with the Spark version included in Glue. I don't see the connector in the marketplace any specification of Glue version it supports so I guess it was built for 2.0
I think you could just download the plugin jar, put it on s3 and add it to your job.
If using Glue 3.0, https://repo1.maven.org/maven2/com/singlestore/singlestore-spark-connector_2.12/4.1.5-spark-3.1.3/singlestore-spark-connector_2.12-4.1.5-spark-3.1.3.jar
If using Glue 4.0, https://repo1.maven.org/maven2/com/singlestore/singlestore-spark-connector_2.12/4.1.5-spark-3.3.3/singlestore-spark-connector_2.12-4.1.5-spark-3.3.3.jar

profile pictureAWS
EXPERT
answered 6 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions