Studioでは、作成するキー(複合キー)に基づく1つ以上のデータ・セットに対し、左外部結合、内部結合または完全外部結合を実行できます。
プライマリ・データ・セットに結合の変更が表示され、セカンダリ・データ・セットは変更されません。
更新されたレコードには、新しいレコードに寄与したデータ・ソースを名前で指定する「データソース名」という追加属性があります。 たとえば、左の結合では、すべてのレコードがdataset1によってタグ付けされますが、dataset2から一致するデータを持たないレコードが存在する場合があります。 これらのレコードには、dataset1の値のみが含まれます。 他のすべてのレコードには、dataset1とdataset2の両方が属性値として含まれます。
データ・セットの結合およびリンクの違い
データ・セットを結合すると、結合のプライマリ側とセカンダリ側のレコードを結合した完全なSQL結合が実行されます。 結合では、プロジェクトのプライマリ・データ・セット内のデータを置き換える新しいレコードがマテリアライズされます。
データ・セットをリンクすることで、Discoverコンポーネントでの一時的な使用のために、問合せ時にデータをリンクします。 どちらのデータ・セットも、問合せ中に接続するキー(リンク)のある個別のデータ・セットとして引き続き格納されます。 リンクされたデータ・セットは、いずれの方法でも完全に結合されません。
リンクは、データベース・ビューと論理的に類似しています。 リンクによって、結合に必要な永続性およびデータ処理のレベルを持たない複数のデータ・セット内の関係を一時的に参照できます。 リンクの詳細は、「プロジェクト・データ・セットのリンク」を参照してください。
結合データの更新
結合には、他のすべての変換と同じ更新モデルがあります。 完全なデータ・セットをロードするか、増分更新を実行すると、Studioではデータ・セットが変更されたことが通知され、プロジェクトで更新を受け入れるか、または拒否できます。 更新を受け入れると、StudioはHive表から変更を読み取り、結合操作を再実行します。
結合後のサンプル・サイズの制限
結合操作により、データ・セットのサイズが大きくなる場合があります。 ただし、「データ処理設定」ページでbdd.sampleSize
設定を使用すると、結合、集計、FilterRowsなどの変換から生成される「サンプル・サイズ」が制限されます。 つまり、結合操作で、bdd.sampleSize
の値を超えるサンプル・サイズは生成されません。