日本語版
最新ニュース
世界

rを使用した大型CSVの任意への任意に変換

この最近の投稿で私が使用しました 極 そして duckdb 大きなCSVファイルをParquetに変換し、SteamモードとPythonに変換します。 さまざまな人が私に連絡して、「そしてRで?」と尋ねました。 簡単な回答:DuckDBがあり、異なるPolarsリンクがあります。ここでは、現在{neopandas}で改訂されている{polars}を使用します。 待ってはいけません! 回転時間は、Intel I7-13700Hプロセッサを備えたWindowsシステムにあります。 2.2 GBのCSVファイルを生成します {data.table}を使用して、CSVファイルに100行のランダムに生成されたデータセットをスローします。 ライブラリ(data.table)set.seed(1)n duckdb 次に、duckdbを使用してファイルにクエリを描画し、結果を寄木物に送信します。 ワイヤーとRAMは飛行中に設定できますが、これは非常に便利です。低いメモリ制限(たとえば、500 MB)を設定すると機能します - 試してみてください! 3.5秒-UAU!結果のファイルは良さそうです。 125 MBです。 極 ポーラーで同じことをしましょう。 #sys.setenv(not_cran = "true")#install.packages( "polars"、repos = "https://community.r-multiverse.org")library(polars)polars_info()system.time(#9s(pl $ scan_csv( "data.csv")$ filter( "x) $ sort(…

rを使用した大型CSVの任意への任意に変換

1743371083
2025-03-30 20:21:00

この最近の投稿で私が使用しました そして duckdb 大きなCSVファイルをParquetに変換し、SteamモードとPythonに変換します。

さまざまな人が私に連絡して、「そしてRで?」と尋ねました。

簡単な回答:DuckDBがあり、異なるPolarsリンクがあります。ここでは、現在{neopandas}で改訂されている{polars}を使用します。

待ってはいけません!

回転時間は、Intel I7-13700Hプロセッサを備えたWindowsシステムにあります。

2.2 GBのCSVファイルを生成します

{data.table}を使用して、CSVファイルに100行のランダムに生成されたデータセットをスローします。

ライブラリ(data.table)set.seed(1)n

duckdb

次に、duckdbを使用してファイルにクエリを描画し、結果を寄木物に送信します。

ワイヤーとRAMは飛行中に設定できますが、これは非常に便利です。低いメモリ制限(たとえば、500 MB)を設定すると機能します – 試してみてください!

3.5秒-UAU!結果のファイルは良さそうです。 125 MBです。

ポーラーで同じことをしましょう。

#sys.setenv(not_cran = “true”)#install.packages( “polars”、repos = “https://community.r-multiverse.org”)library(polars)polars_info()system.time(#9s(pl $ scan_csv( “data.csv”)$ filter( “x) $ sort( “y”)$ sink_parquet( “data.parquet”、row_group_size = 1e5))) ┆i64│#╞═══════════╪═════╡##│5.3551e-9┆4│#│9.0804e-9┆5│#│2.2585e-8┆2│##│3.4459E-8

9秒で、duckdbよりも遅いです。しかし、出口は予想どおりに見え、DuckDBの場合と同じサイズです。

最後の言葉

  • DuckDBまたはPolarsを使用すると、RAMよりも大きな状況であっても、CSVの寄木細工への変換は簡単で高速です。
  • 飛行中にフィルター、選択、ソートなどを適用できます。
  • Rのポーラーを見てみましょう。とても面白いようです。

Rスクリプト

#rを使用した大型CSVの任意への任意に変換

執筆者について: nipponese

Nipponese News編集部は、国内外のニュースを日本語で分かりやすくお届けします。