私はsparklyr
を使用して分析を行っていますが、DBI
を使用して未加工のSQL
クエリを書くことにも興味があります。DBI/Spark:結果をSpark Dataframeに保存する方法は?
私は次のクエリ
query <- "SELECT col1, FROM mydata WHERE some_condition"
dataframe <- dbGetQuery(spark_connection, query)
を実行することができていますが、これは(データフレームで)Rにデータを返します。
私が代わりにしたいのは、データをSpark内に保持し、別のスパークデータフレームに保存して、sparklyr
とさらにやりとりすることです。
アイデア?
DBIを使用して問題はメモリです。あなたはそれで大量のデータを取得することはできません。クエリの結果が膨大な量のデータを返すと、sparkのドライバメモリが圧倒され、メモリ不足が発生します。したがって、小さなデータセットを返すためにこのメソッドを使用したい場合は、この問題を引き起こす必要はありません。 – eliasah
それはポイントではありません。私はSparkのデータフレームに取り組み、データをスパークさせたいと思っています。それ以降のSQLクエリーでは、Rでデータを取得します。 –
DBIはあなたのための解決策ではありません。もしあなたがそのRのためにスティックしたいのであれば、通常のSparkRを使用しなければなりません。 – eliasah