私はOLTPシステムに注文テーブルを持っています。 各注文レコードには、OrderStatusフィールドがあります。hdfsの大きなテーブルの変更を反映
-
エンドユーザーが注文を作成した場合は、オーダーステータスフィールドが「オープン」に設定してください。誰かが注文をキャンセルした場合、オーダーステータスフィールドは "キャンセル" として設定
-
。注文処理は「閉じる」に、(請求書に変換)オーダーステータス・フィールド・セットを終え
-
。
OLTPシステムでテーブル内の複数億件のレコードがあります。
hdfsレイヤーのデータウェアハウスとデータマートを設計して入力する必要があります。 データマートを設計するには、hdfsにオーダーテーブル全体をインポートしてから、テーブルの変更を継続的に反映する必要があります。
最初に、最初のロードプロセスでsqoopを使用してテーブル全体をhdfsにインポートできます。私は長い時間がかかるかもしれませんが、私はこれを一度やります。
注文記録が更新されたり、新しい注文記録が入力された場合、hdfsの変更を反映する必要があります。どのようにしてhdfsでこれを実現できますか?簡単な方法の
おかげ
はい、最後に変更されたタイムスタンプフィールドは、ソーステーブルに存在しています。詳細を教えてください:「最新のデータだけを読み込んで、何らかのデルタチェックを行う可能性があります」 – Omer
あなたのコメントをいただきありがとうございます、使用可能なオプションをhadoop環境でアップしていますか?私が知っているように、hdfsは読み取り専用です。だから、私はhdfs層でテーブル全体を上書きする必要があるかもしれません。 – Omer
これは必要なアクションの単なる言葉です。これは実際にインフラストラクチャ、使用するコンポーネント、および所要量によって異なります。 HDFSは読み取り専用ではなく、すでにSqoopでデータをプッシュしています。変更によって新しいファイルが作成される可能性もありますが、これはデータをHadoopにプッシュした後の読み方によって異なります。また、Hive、HBASE、一般的にはHadoopのようなHDFSを使用するコンポーネントを検索する必要があります。 HDFSはエコスペース全体の一部にすぎません。 – tobi6