データラングリングやデータ分析した結果をAmazon S3 などのクラウドストレージに書き戻しする方法についてご紹介します。
スクリプトの横にあるプラスボタンをクリックし、Rスクリプトエディターを開きます。
そして、「スクリプトの作成」ダイアログに名前を入力します。
次に、以下のスクリプトを入力します。<VARIABLE>
には、適切な値で置き換えてください。
write_back_to_s3 <- function(df, name) {
library(aws.s3)
Sys.setenv("AWS_ACCESS_KEY_ID" = "<ID>",
"AWS_SECRET_ACCESS_KEY" = "<KEY>",
"AWS_DEFAULT_REGION" = "<REGION>")
readr::write_excel_csv(df, file_path, append=FALSE, col_names=TRUE, delim=',', na='')
put_object(
file = file.path(tempdir(), str_c(name, ".csv")),
object = str_c(name, ".csv"),
bucket = "<BUCKET>"
)
df
}
これは、バケットに対する権限を持つs3のaccess_key です。
これはバケットに対する権限を持つ秘密キーです。
次に、作成した Rスクリプトを呼び出して、S3書き戻します。
以下のようにステップメニューから「カスタムRコマンド」を選択します。
次に、write_back_to_s3(., "<s3_csv_file_name>")
と入力します。
最初の引数(.)は前のデータラングリングのステップから渡されたデータを表し、2番目の引数は s3で作成されるCSVファイルの名前です。
「実行」ボタンをクリックすると、データが指定したs3にアップロードされます。
このデータフレームを開いたり、データラングリングのステップを更新するたびに、データベースを書き戻す必要はないと思われます。
そのため、「書き戻し」のステップを一時的に無効にすることができます。
右側のデータラングリングの書き戻しをしているステップから「ステップを無効化」のボタンをクリックします。
これにより、このステップが一時的に無効になります。もし、再度データをS3に書き戻しを行いたい場合は、ステップの有効化を行うことで可能です。