Eventstream にレイクハウスの転送先を追加する
この記事では、Microsoft Fabric イベント ストリームのイベントストリームに転送先としてレイクハウスを追加する方法について説明します。 ストリーミング パフォーマンスとリアルタイム クエリを最適化するには、Eventhouse の宛先をイベントストリームに追加して Eventhouse にデータをストリーミングし、Eventhouse OneLake の可用性を有効にすることを検討してください。
注意
現在、イベントストリームを作成すると、拡張機能が既定で有効になります。 標準機能を使用して作成されたイベントストリームがある場合、それらのイベントストリームは引き続き機能します。 通常どおりに編集や使用を続けられます。 新しいイベントストリームを作成して標準のイベントストリームを置き換えることをお勧めします。そうすることで、強化されたイベントストリームの追加機能と利点を利用できます。
重要
レイクハウスの転送先テーブルに、データを書き込むためのスキーマの適用があります。 データ品質を確保するために、テーブルへの新しい書き込みはすべて、書き込み時にターゲット テーブルのスキーマとの互換性が必要です。
新しい Delta テーブルに出力を書き込むときは、最初のレコードに基づいてテーブル スキーマが作成されます。 出力データのすべてのレコードは、既存のテーブルのスキーマに投影されます。
受信データに既存のテーブル スキーマにない列がある場合、追加の列はテーブルに書き込まれるデータに含まれません。 逆に、受信データに、既存のテーブル スキーマにある列が足りていない場合は、その列の値が null としてテーブルに書き込まれます。
- 共同作成者以上のアクセス許可を使用して Fabric 容量ライセンス モード (または試用版ライセンス モード) でワークスペースにアクセスします。
- 共同作成者以上のアクセス許可を使用して、レイクハウスが配置されているワークスペースにアクセスします。
注意
1 つのイベントストリームでのソースと宛先の合計数は 11 個までです。
既定または派生イベントストリームにレイクハウスの転送先を追加するには、次の手順に従います。
イベントストリームの編集モードで、リボンの [宛先の追加] を選択し、ドロップダウン リストから [レイクハウス] を選択します。
レイクハウス ノードをストリーム ノードまたはオペレーターに接続します。
レイクハウスの構成画面で、次の情報を入力します。
- [宛先名] を入力します。
- レイクハウスを含むワークスペースを選択します。
- 指定したワークスペースから既存のレイクハウスを選択します。
- 既存の Delta テーブルを選択するか、新しい Delta テーブルを作成してデータを受信します。
- レイクハウスに送信される入力データの形式を選択します。 サポートされているデータ形式は、JSON、Avro、CSV (ヘッダー付き) です。
[Advanced] \(詳細設定) を選択します。
Lakehouseの変換先の場合、2 つのインジェスト モードを使用できます。 実際のシナリオに基づいて Fabric のイベント ストリームによるレイクハウスへの書き込み方法を最適化するために、これらのモードを構成します。
[最小行] は、レイクハウスで ひとつのファイルに取り込む最小行数です。 最小値は 1 行で、最大値はファイルあたり最大 200 万行です。 最小行数が小さいほど、インジェスト中にレイクハウスによって作成されるファイルが多くなります。
[最大期間 は、レイクハウスで ひとつのファイルを取り込むのにかける最大時間です。 最小値は 1 分、最大値は 2 時間です。 この期間が長いほど、より多くの行がファイルに取り込まれます。
[保存] を選択します。
新しく追加されたレイクハウスの転送先を実装するには、[発行] を選択します。
これらの手順を完了すると、レイクハウスの転送先をライブ ビューで視覚化できるようになります。 [詳細] ウィンドウで、ノートブックのテーブルを最適化ショートカットを選択して、ノートブック内で Apache Spark ジョブを起動できます。これにより、ターゲットのレイクハウス テーブル内の小さなストリーミング ファイルを統合します。
Eventstream に他の転送先を追加する方法については、次の記事を参照してください。
開始する前に、次の前提条件を満たしている必要があります。
- 共同作成者以上のアクセス許可を使用して Fabric 容量ライセンス モード (または試用版ライセンス モード) でワークスペースにアクセスします。
- レイクハウスが配置されているワークスペースに、共同作成者以上のアクセス許可を使用してアクセスします。
注意
1 つのイベントストリームでのソースと宛先の合計数は 11 個までです。
ワークスペースにLakehouseを作成してある場合は、次の手順に従って、そのLakehouseを宛先としてイベントストリームに追加します。
リボン上の [新しい転送先] またはメイン エディターのキャンバス内の [+] を選択し、[Lakehouse] を選択します。 宛先となるLakehouseを構成する画面が表示されます。
イベントストリームにおける宛先の名前を入力し、Lakehouseに関する情報をすべて入力します。
[Lakehouse]: 指定したワークスペースから既存のLakehouse アイテムを選択します。
[Delta テーブル]: 既存の Delta テーブルを選択するか、新しい Delta テーブルを作成してデータを受信します。
注意
Lakehouse テーブルにデータを書き込む場合は、 スキーマが適用されます。 これはつまり、データ品質を確保するために、テーブルへの新しい書き込みはすべて、書き込み時にターゲット テーブルのスキーマとの互換性が必要であるということです。
出力データのすべてのレコードは、既存のテーブルのスキーマに投影されます。 新しい Delta テーブルに出力を書き込むときは、最初のレコードに基づいてテーブル スキーマが作成されます。 受信データに、既存のテーブル スキーマと比較して余分な列がある場合は、テーブルへの書き込みではその余分な列は含まれません。 逆に、受信データに、既存のテーブル スキーマと比較して列が足りていない場合は、その列の値が null としてテーブルに書き込まれます。
[入力データ形式]: Lakehouseに送信されるデータ (入力データ) の形式を選択します。
注意
サポートされている入力イベント データ形式は、JSON、Avro、CSV (ヘッダー付き) です。
[イベント処理]: イベント処理エディターを使用して、レイクハウスに送信する前のデータの処理方法を指定できます。 [イベント プロセッサを開く] を選択して、イベント処理エディターを開きます。 イベント プロセッサを使用したリアルタイム処理について詳しくは、「イベント プロセッサ エディターを使用してイベント データを処理する」をご覧ください。 エディターを使用し終えたら、[完了] を選択して、宛先となるLakehouseを構成する画面に戻ります。
Lakehouseの変換先の場合、2 つのインジェスト モードを使用できます。 これらのモードのいずれかを選択して、実際のシナリオに基づいて Fabric のイベント ストリーム機能によるLakehouseへの書き込み方法を最適化します。
[追加] を選択し、転送先としてLakehouseを追加します。
Lakehouseの変換先内で使用できるテーブル最適化ショートカット。 このソリューションを使用すると、Notebook 内で Spark ジョブを起動し、これらの小さなストリーミング ファイルをターゲット Lakehouse テーブル内に統合することが容易になります。
キャンバスに宛先としてLakehouseが表示され、スピン状態インジケーターが表示されます。 状態が [アクティブ] に変わるまでに数分かかります。
[編集]/[削除]: ナビゲーション ウィンドウまたはキャンバスで イベントストリーム の転送先を編集または削除することができます。
[編集] を選択すると、メイン エディターの右側に編集ペインが開きます。 イベント変換ロジックを含み、必要に応じて、イベント プロセッサ エディターを使用して構成を変更できます。
Eventstream に他の転送先を追加する方法については、次の記事を参照してください。