2017年10月現在、Sparklyr Spark Data FramesをSQL Serverに書き込むことは可能ですか?SparklyRからSQL Serverにテーブルをロード
私はこのエラーを得た:
> DBI::dbWriteTable(con, "DZ_test", for_test)
Error in (function (classes, fdef, mtable) :
unable to find an inherited method for function ‘dbWriteTable’ for signature
‘"Microsoft SQL Server", "character", "tbl_spark"’
私は現在実行している:Hadoopの2.7用に構築された
- dplyr 0.7.4
- sparklyr 0.6.3
- スパーク2.0.1を.3
C素晴らしいcrassy
パッケージのassandraですが、SQL Server用のコネクタやメソッドがあるかどうかはわかりません。ありがとう!
SOLVED !!!
私はSQLサーバー用にjdbcドライバを使用しました。私は、すべてのノード上でJava 8用のドライバを使用意味するように私は、JDK 1.8を持っていた:
spark.jars.packages com.microsoft.sqlserver:mssql-jdbc:6.2.2.jre8
私は$SPARK_HOME/conf/spark-defaults.conf
でこれを置きます。
私は通常、Kerberos認証を使用してSQLサーバにログインしますが、テストクラスタのすべてのノードに設定されていないため、対象のデータベース(管理者が必要)のSQLログインを行い、パス。
spark_write_jdbc(my_sdf, "my_sdf",
options = list(
url=paste0("jdbc:sqlserver://cwjensql10.cwjwin.local;",
"databaseName=HER_NILM;",
"user=HER;",
"password=Test1;"),
driver="com.microsoft.sqlserver.jdbc.SQLServerDriver")
)
Kerberos認証を使用する(およびLinux上で実行されている)場合には、そのようなのようになります:Windowsの場合
spark_write_jdbc(my_sdf, "my_sdf",
options = list(
url=paste0("jdbc:sqlserver://cwjensql10.cwjwin.local;",
"databaseName=HER_NILM;",
"integratedSecurity=true;",
"authenticationScheme=JavaKerberos;"),
driver="com.microsoft.sqlserver.jdbc.SQLServerDriver")
)
を、ちょうどauthenticationScheme
オプションが含まれていません。
@ user6910411に大きな感謝!!!!