2

私は主にいわゆる「ビッグデータ」を扱っています。ETL と分析の部分。私が常に直面している課題の 1 つは、いわば「自分のデータをテストする」良い方法を見つけることです。mapreduce および ETL スクリプトについては、堅実な単体テスト カバレッジを記述しますが、データ自体に予期しない根本的な変更 (複数のアプリケーション システムからのもの) がある場合、コードは必ずしも顕著なエラーをスローするとは限りません。については知りません。

基になるデータがどのように/どのように変更されているかを人々が監視するのに役立つベストプラクティスはありますか?

当社の技術スタックは、AWS EMR、Hive、Postgres、および Python です。Informatica のような大規模な ETL フレームワークを導入することにはあまり関心がありません。

4

1 に答える 1

0

システムに固有の標準に従って、ある種のマッピング ファイル (xml など) を作成し、受信データをクラスターに入れる前に、またはプロセス自体で検証することができます。私はしばらく前に同様の問題に直面していましたが、これを行うことになりました。

あなたのデータとユースケースでそれがどれほど実現可能かはわかりませんが、私たちにとってはうまくいきました. xml ファイルを 1 回作成する必要がありました (退屈で面倒ですが、試してみる価値はあります)。今では、新しいファイルを取得するたびに、これらの xml ファイルを使用してデータを検証してから、クラスターにデータを配置してデータが正しいかどうかを確認しています。正しいかどうか(定義された基準に従って)。これにより、新しいデータを取得するたびにすべてを手動でチェックする必要がある場合に必要な時間と労力を大幅に節約できます。

于 2013-08-05T19:39:21.110 に答える