インストール版で動かしていたRのRobynを用いたプロジェクトを
クラウド版のDataikuでも動かせるのか検証した本シリーズ、
④で完結です!
結論としてインストール版→クラウド版は…
できます!!
できるんですが、結構仕様が違ったりするのと、
クラウド用ドキュメントがまだそんなに揃ってないみたいで…
サポートの方にご協力いただいたんですが、それでも結構大変でした。
ちなみにシリーズ②でRのフォルダの書き込み方をご紹介しましたが、
この方法の前にサポートの方に1ファイルだけフォルダに書き込む方法を
教えてもらっていました。
library(dataiku)
# Read the dataset as a dataframe
input_df <- dkuReadDataset("kaggle_titanic_trainclean")
# Export the dataframe to a temporary local CSV file
tmp_csv_path <- tempfile()
write.csv(input_df, tmp_csv_path)
# Open the CSV file for reading (as a R "connection")
tmp_csv_file_connection <- file(tmp_csv_path, "rb")
# Push the result to the managed folder
dkuManagedFolderUploadPath("o6cCaadO", "mydataset.csv", tmp_csv_file_connection)
# Close the connection
close(tmp_csv_file_connection)
# Delete the temporary file
unlink(tmp_csv_path)
今回は複数ファイルを書き込みたかったので採用できなかった手法ですが、
こちらの方がファイル丸ごとアップロードよりも無駄は削減できそうな気がしています。
そしてこれは公式ドキュメントがまだ無い手法だそうです。
やってみて何が大変だったのかをまとめると
- 一番大変だったのはやはりフォルダが絡んだコードの改変。
- その次に環境(Code env)構築。
- そしてコンテナ処理とそうじゃない場合のコードの差の修正。
- 最後にドキュメントが無い・書いてあっても散っている・前例がほぼ見当たらない!
3番目はRobynのパッケージ特性に依るところが大きいと思います。
クラウド版だとコンテナ処理だから、というのはサポートの方に教えていただくまで知りませんでした。
インストール版とクラウド版、どちらが良いか、というのは
機能的にはどちらでも実現できたので、
どっちで作り始めるか、だと思いました。
最初からどちらかでフローを組めばいいのですが、
途中で移管するのは大変、という結論です。
導入するときにインストール版かクラウド版か見極めが大事!
サポートの方に大変お世話になりました。
インストール版とクラウド版では問い合わせ方法も違い、
最初はインストール版の方で問い合わせてしまい、クラウド版の方に誘導していただきました。
何がわかっていないのかもわからない状態でご協力いただき、ありがとうございましたm(__)m