Cloudera CDH を使用して Hadoop フレームワークで POC を作成しています。複数のクライアントのデータを Hive テーブルにロードしたい。
現在、SQL Server のクライアントごとに個別のデータベースがあります。このインフラストラクチャは、OLTP でも同じままです。Hadoop は OLAP に使用されます。各クライアントで同じプライマリ ディメンション テーブルがいくつかあります。すべてのクライアント データベースのスキーマはまったく同じです。これらのテーブルの主キー値は同じです。クライアント用に別のデータベースがあるため、これまでは問題ありませんでした。現在、複数のクライアント データを同じデータ コンテナー (Hive テーブル) にロードしようとしています。Sqoop ジョブを介して複数の SQL Server データベースから直接 Hive にデータをロードすると、同じ主キー値を持つ複数の行が作成されます。Hive テーブルで代理キーを使用することを考えていますが、Hive は自動インクリメントをサポートしていませんが、UDF で実現できます。
運用データを実行しているため、SQL Server データを変更したくありません。
a. 複数のクライアント データを Hadoop エコシステムにロードする標準/一般的な方法/ソリューションは何ですか?
b. SQLサーバーデータベーステーブルの主キーをHadoop Hiveテーブルに簡単にマップするにはどうすればよいですか?
c. あるクライアントが他のクライアントのデータを見ることができないようにするにはどうすればよいでしょうか?
ありがとう