3

私はデータ サイエンス ツールを初めて使用し、json ログを通常の csv と見なされる平坦化された列データに変換するユース ケースを持っています。Apache Spark Sqlを使用していますが、問題は、jsonログが階層配列を含む複雑なデータ構造になる可能性があることです。つまり、データセットを複数回展開して変換する必要があります。

問題は、同じコードのチャンクを異なる変換ロジックで再利用したいので、データ変換のロジックをハードコーディングしたくないことです。コード。

同じ理由で、入力用に独自のスキーマを定義する自由を提供するApache Avroを調べていましたが、ここで問題は、出力スキーマも定義できるかどうかわからないことです。そうでない場合は、(生成された) avro データ構造を読み取り、コード ロジックにフィルター処理することと同じになります。

私が考えることができる1つの考えられる解決策は、配列フィールドといくつかのフラグとともにスキーマを定義して、パーサーに爆発するように通知することです。これは、入力スキーマを出力に変換するまで再帰的になる可能性があります。つまり、ベースの変換ロジックを生成します。私の入力および出力スキーマについて。

私が知らない、または考えられないより良いアプローチはありますか?

4

0 に答える 0