Запись в базу данных SQL - ConnectionException - PySpark - PullRequest
0 голосов
/ 21 ноября 2018

Я пытаюсь записать фрейм данных в базу данных OmniSci, в основном это база данных SQL с GPU-поддержкой.Я получаю странную ошибку при попытке сделать это:

subs_dim.write.format("jdbc").option("url", "jdbc:mapd:EC2ADDRESS.compute-1.amazonaws.com:9091:mapd").option("driver", "com.mapd.jdbc.MapDDriver").option("dbtable", "subs_dim").option("user", "mapd").option("password", "INSTANCEID").save()

и получаю эту ошибку:

java.sql.SQLException: Connection failed - org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection timed out (Connection timed out)

Py4JJavaError: Произошла ошибка при вызове o309.save.: java.sql.SQLException: Соединение не удалось - org.apache.thrift.transport.TTransportException: java.net.ConnectException: Истекло время соединения (Тайм-аут соединения) в com.mapd.jdbc.MapDConnection. (MapDConnection.java:113)в com.mapd.jdbc.MapDDriver.connect (MapDDriver.java:55) в org.apache.spark.sql.execution.datasources.jdbc.DriverWrapper.connect (DriverWrapper.scala: 45) в org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils $$ anonfun $ createConnectionFactory $ 1.apply (JdbcUtils.scala: 63) в org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils $$ anonfunory $ createConnectionscala: 54) at org.apache.spark.sql.execution.datasources.jdbc.JdbcRelationProvider.createRelation (JdbcRelationProvider.scala: 63) в org.apache.spark.sql.execution.datasources.SaveIntoDataSourcealaom.SourceCommand.mand.45) в org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult $ lzycompute (commands.scala: 72) в org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult (commands.scala: 70) в org.apache.spark.sql.execution.command.ExecutedCommandExec.doExecute (commands.scala: 88) в org.apache.spark.sql.execution.SparkPlan $$ anonfun $выполнить $ 1.apply (SparkPlan.scala: 150) в org.apache.spark.sql.execution.SparkPlan $$ anonfun $ выполнить $ 1.apply (SparkPlan.scala: 138) в org.apache.spark.sql.execution.SparkPlan$$ anonfun $ executeQuery $ 5.apply (SparkPlan.scala: 190) в org.apache.spark.rdd.RDDOperationScope $ .withScope (RDDOperationScope.scala: 151) в org.apache.spark.sql.execution.SparkPlan.executeQuery (SparkPlan.scala: 187) в org.apache.spark.sql.execution.SparkPlan.execute (SparkPlan.scala: 138) в org.apache.spark.sql.execution.QueryExecution.toRdd $ lzycompute (QueryExecution.scala: 108)в org.apache.spark.sql.execution.QueryExecution.toRdd (QueryExecution.scala: 108) в org.apache.spark.sql.DataFrameWriter $$ anonfun $ runCommand $ 1.apply (DataFrameWriter.scala: 683) в org.apache.spark.sql.DataFrameWriter $$ anonfun $ RunCommand $ 1.Apply (DataFrameWriter.scala: 683) в org.apache.spark.sql.execution.SQLExecution $$ anonfun $ withCustomExecutionEnv $ 1.apply (SQLExecution.scala: 89) в org.apache.spark.sql.execution.SQLExecution $..scala: 175) в org.apache.spark.sql.execution.SQLExecution $ .withCustomExecutionEnv (SQLExecution.scala: 84) в org.apache.spark.sql.execution.SQLExecution $ .withNewExecutionId (SQLExecution).org.apache.spark.sql.DataFrameWriter.runCommand (DataFrameWriter.scala: 683) по адресу org.apache.spark.sql.DataFrameWriter.saveToV1Source (DataFrameWriter.scala: 287) по адресу org.apache.spark.smeraqataDataFrameWriter.scala: 281) в sun.reflect.NativeMethodAccessorImpl.invoke0 (нативный метод) в sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) в sun.reflect.lang.reflect.Method.invoke (Method.java:498) в py4j.reflection.MethodInvoker.invoke (MethodInvoker.java:244) в py4j.reflection.ReflectionEngine.invoke (ReflectionEngine.java:380) в py4j.Gateway.invoke (Gateway.java:295) в py4j.commands.AbstractCommand.invokeMethod (AbstractCommand.java:132) в py4j.commands.CallCommandCexte.java: 79) на py4j.GatewayConnection.run (GatewayConnection.java:251) на java.lang.Thread.run (Thread.java:748)

У кого-нибудь есть идеи?Я пропинговал сервер и подтвердил, что порт открыт

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...