ODBCでデータベースに接続(4).R
要約
・データフレームをデータソースとして使うsqldf::sqldf()
・巨大なファイルには別の方法で太刀打ちしよう
csvファイルに直接ODBC接続できないらしい
どうも、あれこれしてデータソースとしてcsvファイルを登録してやらないとODBC接続できないらしい。Excelですらできるのに、と思ったけどODBC自体Micorosoftだしね。
そういうわけで、csvを普通にデータフレームとして読み込んでやることにした。
SQL文に慣れてくると、SELECTだのなんだのをパイプで多段にかませるのがちょっと冗長に感じたりもする。SQL文ってそれ自身が一種のfunctionみたいなものなので、一度変数に代入しておくと便利なのよね。
同じようなことを思った先達がいたらしく、データフレームをデータソース扱いするパッケージを作ってくれている。いや、そう思ったのかどうかは知らんけど。
sqldf::sqldf()
使い方はとても簡単で、sqldf("SQL文")だけ。
どこでデータフレームを指定するのかといえば、SQL文の中でデータフレームをテーブル代わりに指定するのだ。つまりこんな感じ。
df <- data.frame("data.file")
sqldf("SELECT df.列 FROM df)
でもファイルが大きいとどうにもならんじゃんね?
というわけで調べてみたが……一筋縄ではいかないらしい。
パッケージとしてはchunked::が試してみる価値ありとのことだが、どこかで試してみよう。
以上。