Apache ArrowのRパッケージでfactorを含んだデータもParquetファイルに読み書きできるようになりました

1ヶ月前に、「Apache ArrowでParquetを読み書きするときfactorを扱う方法がよくわからない」みたいなことをゴニョゴニョ書きましたが、

直りました。

続きを読む

世の中には2つの種類の引数がある、必須の引数と必須ではない引数だ。

何を当たり前なことを、と思うでしょうか。しかし、Rにおいてこれはそんなに簡単なことではありません。

Tidyverse design guideは、第|||部まるまる、8章分を割いて関数のデフォルト値がどうあるべきかについて議論しています。 それは、関数のデフォルト値が重要であるとともに、静的型付け言語ではないRではどうがんばっても限界があるところだからです。

とはいえ、原則は10章のタイトルになっている次のひとことだけです。これだけ覚えておけば間違いありません。

続きを読む

そろそろRユーザーもApache ArrowでParquetを使ってみませんか?

先日、Apache Arrow東京ミートアップ2019で「RとApache Arrow」というタイトルで発表してきました。あと、Japan.RでもApache ArrowについてLTしました。

話したこととしては、

  1. arrowパッケージを使うとParquetファイル(後述)の読み書きができる
  2. sparklyrパッケージが内部でApache Arrowを使うようになって、R↔Spark間のデータのやり取りが高速になった
  3. Arrow Flightがもっと一般的になれば、JDBCODBCを使わなくてもデータベースからデータを取ってこれるようになる

という感じで、個人的にいま強調したいのは1.です。とりあえずParquetファイルの読み書きというのがRユーザーにとって一番わかりやすいメリットなので、そこをきっかけにみんなApache Arrowにズブズブになって、もっと世の中のシステムがApache Arrowに対応しだしたときにスムーズにデータを交換したり共有したりできればよさそう、と思っています。

図にして表すとこんな感じです:

続きを読む