Rサーバーの作業スペースで作成されたデータをRedshiftにプッシュしようとしています。 dbWriteTable()を使用して、私は成功したテーブルを作成することができますが、データは、この新しく作成されたテーブルに書き込まれていないと、次のエラーが生成されます。コードのRからRedshiftへのデータの書き込み問題
> dbWriteTable(con, c("schema", "table"), value = df,append=TRUE,
row.names=FALSE)
Error in postgresqlpqExec(new.con, sql4) :
RS-DBI driver: (could not Retrieve the result : ERROR: syntax error at or
near "STDIN"
LINE 1: COPY "schema"."table" FROM STDIN
^
)
注:
「CON」は赤方偏移の接続を指し、以下のように、一般的な形で、そのためのコードは次のとおり
con <- dbConnect(drv, host="host_name", port="port_id", dbname="db_name", user="username", password="password")
私は番目の制約に起因するデータとの完全な例を与えることができませんeデータ。
元々、私はそれが作業スペース内のアクセス権の問題である可能性があると思っていました。しかし、私はdbSendQuery()を使用してテーブルを作成し、dbSendQuery()の別の呼び出しでRedshiftに挿入したいデータフレームの各行をループすることで極端に遅い解決策を見つけました。これは、タスクを効率的に完了できないため、権限が他のものと関連している必要があることを示しています。
このエラーに関するご意見やご提案は大変ありがとうございます。ありがとうございます。