には、以下のSQLを考えてみましょう:dplyrのSQLが参加し
SELECT D.product_name
FROM business.payment P
LEFT JOIN dim.product_name D
ON D.product_id = P.product_id
問合せは、配当テーブルにあるproduct_namesのリストを返しますので、参加に基づいありません。
これをdplyrでどのように複製する必要はありませんか?私はデータベース接続で作業しています。
私は次のことを試みたが、無駄に:
product_name <-
business %>%
tbl('dim_product')
business %>%
tbl('payment') %>%
left_join(product_name, by = 'product_id') %>%
select(product_name) %>%
collect()
私はかなり大きいと誰もがこれを対処してきたように思わ検索しました。
ありがとうございます!
Rはすべてのオブジェクトをメモリに保存します。したがって、 'dplyr'を使用しているのであれば、それをオブジェクトやメモリに使用しています。言いましたが、あなたは 'dplyr'で任意のSQLを使うことができます。 'tbl(my_db_extract_now_in_memory、sql(" SELECT * FROM flights "))'が、常にメモリに格納されます。 –
私はこれを厳密にdplyrを使ってやろうとしています。 '' collect() 'がトリガーするまで、怠惰はそれらをメモリに持ち込むべきではありません。 –
'dplyr'ですべてのことを行うのは問題ありませんが、一旦抽出されるとメモリに残ると言っています。これは違いがないことに注意してください。そして、RODBCのような他の方法でDBを通してRに問い合わせてください。あなたが 'RPostgres'や' RODBC'などを使ってSQLクエリを送信し、それをデータベース*内に新しいテーブル*を作成するために使用しただけで、データをRにエクスポートしなかった場合、メモリにない方法があります –