目次:
Hadoopは、分析処理のためにデータをオフロードしたり、既存のシステムでは不可能な大量の単一データソースをモデル化するのに最適な場所です。 ただし、企業が多くのソースからのデータをHadoopに取り込むと、さまざまなソース間でデータを分析する必要性が高まっており、これを達成することは非常に困難です。 この記事は、Hadoop内のさまざまなデータソースとタイプを分析しようとする組織が直面する問題、およびこれらの課題の解決方法を説明する3回シリーズの最初の記事です。 今日の投稿では、複数の内部ソースを組み合わせるときに発生する問題に焦点を当てています。 次の2つの投稿では、外部データソースが追加されるにつれてこれらの問題が複雑になる理由と、新しいアプローチがそれらを解決する方法について説明します。
接続とマッピングが難しいさまざまなソースからのデータ
さまざまなソースからのデータは異なる構造を持っているため、内部ソースからのデータであっても、データタイプを一緒に接続してマップすることは困難です。 顧客が複数のアカウント番号を持っている場合、または組織が他の企業を買収または合併した場合、データの結合は特に困難になります。 過去数年にわたって、一部の組織は、データ検出またはデータサイエンスアプリケーションを使用して、Hadoopに保存されている複数のソースからのデータを分析しようとしました。 このアプローチには多くの当て推量が伴うため、問題があります。ユーザーは、さまざまなデータソースを接続するために使用する外部キーを決定し、データモデルオーバーレイを作成するときに仮定を行う必要があります。 これらの推測はテストするのが難しく、大規模に適用した場合はしばしば不正確であり、データ分析の誤りとソースの不信につながります。
Hadoopエキスパートがデータを一緒にマージしようとする
そのため、データソース全体のデータを分析する組織は、Hadoopの専門家を雇って、データセットをマージするカスタムのソース固有のスクリプトを作成することに頼っています。 これらのHadoopエキスパートは通常、データ統合またはエンティティ解決のエキスパートではありませんが、組織の差し迫ったニーズに対応するために最善を尽くしています。 これらの専門家は通常、PigまたはJavaを使用して、アカウント番号に基づいてレコードを照合するなど、特定のソースからの構造化データを結合する方法を決定する厳格なルールを記述します。 2つのソースのスクリプトを作成した後、3番目のソースを追加する必要がある場合、最初のスクリプトを破棄し、3つの特定のソースを結合するように設計された新しいスクリプトを作成する必要があります。 別のソースが追加された場合など、同じことが起こります。 このアプローチは非効率であるだけでなく、大規模に適用すると失敗し、エッジケースの処理が不十分になり、大量の重複レコードが発生する可能性があり、多くの場合、結合すべきではないレコードをマージします。
