Awkward to RDataFrame and back

要約

Awkward Arrays と RDataFrame は、大規模な計算を実行する 2 つのまったく異なる方法を提供します。
それらの間でゼロコピー変換する機能を追加することで、ユーザーは両方を最大限に活用できます。
これにより、ユーザーは、分析でさまざまなパッケージと言語を混在させる際の柔軟性が向上します。
Awkward Array バージョン 2 では、ak.to_rdataframe 関数が Awkward Array のビューを RDataFrame ソースとして表示します。
このビューはオンデマンドで生成され、データはコピーされません。
列リーダーは、ビューのランタイム タイプに基づいて生成されます。
リーダーは、ROOT::RDF::RDataSource から派生した生成されたソースに渡されます。
ak.from_rdataframe 関数は、選択した列をネイティブの厄介な配列として変換します。
JIT 技術を利用した実装の詳細について説明します。
RDataFrame の高レベル インターフェイスを介して Awkward Array に格納されたデータを分析する例を示します。
C++ で記述されたユーザー定義フィルターを適用し、列データを Awkward Array としてプロットまたは抽出する列定義の例をいくつか示します。
現在の制限と将来の計画について説明します。

要約(オリジナル)

Awkward Arrays and RDataFrame provide two very different ways of performing calculations at scale. By adding the ability to zero-copy convert between them, users get the best of both. It gives users a better flexibility in mixing different packages and languages in their analysis. In Awkward Array version 2, the ak.to_rdataframe function presents a view of an Awkward Array as an RDataFrame source. This view is generated on demand and the data are not copied. The column readers are generated based on the run-time type of the views. The readers are passed to a generated source derived from ROOT::RDF::RDataSource. The ak.from_rdataframe function converts the selected columns as native Awkward Arrays. The details of the implementation exploiting JIT techniques are discussed. The examples of analysis of data stored in Awkward Arrays via a high-level interface of an RDataFrame are presented. A few examples of the column definition, applying user-defined filters written in C++, and plotting or extracting the columnar data as Awkward Arrays are shown. Current limitations and future plans are discussed.

arxiv情報

著者 Ianna Osborne,Jim Pivarski
発行日 2023-02-20 09:41:02+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: astro-ph.IM, cs.CL, hep-ex, physics.data-an パーマリンク