メインコンテンツまでスキップ

Teradataで横串検索を実行する

備考

プレビュー

この機能は パブリック プレビュー段階です。

この記事では、 Databricksによって管理されていない Teradata データに対してフェデレーション クエリを実行するようにレイクハウスフェデレーションを設定する方法について説明します。 レイクハウスフェデレーションの詳細については、「 レイクハウスフェデレーションとは」を参照してください。

レイクハウスフェデレーションを使用して Teradata データベースに接続するには、 Databricks Unity Catalog メタストアに次のものを作成する必要があります。

  • Teradata データベースへの接続。
  • TeradataUnity Catalog Unity Catalogデータベースを にミラーリングする フォーリンカタログDatabricks 。これにより、 クエリ構文とデータガバナンスツールを使用してデータベースへの ユーザーアクセスを管理できます。

始める前に

開始する前に、このセクションの要件を満たしていることを確認してください。

Databricks の要件

ワークスペースの要件:

  • Unity Catalogのワークスペースが有効になっています。

コンピュートの要件:

  • コンピュート・リソースからターゲット・データベース・システムへのネットワーク接続。 「レイクハウスフェデレーションのネットワーキングに関する推奨事項」を参照してください。
  • Databricks コンピュートは、 Databricks Runtime 16.1 以降と Standard または Dedicated アクセス モードを使用する必要があります。
  • SQLウェアハウスは PRO または サーバレスで、2024.50 以上を使用する必要があります。

必要な権限:

  • 接続を作成するには、メタストア管理者か、ワークスペースに接続されているUnity Catalogメタストアの CREATE CONNECTION 権限を持つユーザーである必要があります。
  • フォーリンカタログを作成するには、メタストアに対する CREATE CATALOG 権限を持ち、接続の所有者であるか、接続に対する CREATE FOREIGN CATALOG 権限を持っている必要があります。

追加の権限要件は、以下の各タスクベースのセクションに記載しています。

Teradata の要件

  • ホストサーバーで TLS が有効になっている。 デフォルトでは、 SSLMODEREQUIREです。 詳細については、Teradata のドキュメントの「 TLS を使用して接続をセキュリティで保護 する方法」を参照してください。

Databricks 接続を作成する

接続では、外部データベースシステムにアクセスするためのパスと認証情報を指定します。接続を作成するには、カタログエクスプローラーを使用するか、Databricksノートブックまたは Databricks SQLクエリーエディタで CREATE CONNECTION SQLコマンドを使用できます。

注記

Databricks REST API または Databricks CLI を使用して接続を作成することもできます。 POST /api/2.1/unity-catalog/connections を参照してください。 および Unity Catalog コマンド

必要な権限: メタストア管理者またはCREATE CONNECTION権限を持つユーザー。

  1. Databricks ワークスペースで、カタログアイコン カタログ をクリックします。

  2. [カタログ]ウィンドウの上部にある [追加またはプラスアイコン 追加] アイコンをクリックし、メニューから [ 接続の追加] を選択します。

    または、 クイックアクセス ページから 外部データ > ボタンをクリックし、 接続 タブに移動して 接続を作成 をクリックします。

  3. 接続のセットアップ ウィザードの 接続の基本 ページで、わかりやすい 接続名 を入力します。

  4. [ 接続の種類 ] で [Teradata ] を選択します。

  5. (オプション)コメントを追加します。

  6. 次へ をクリックします。

  7. [ 認証 ] ページで、Teradata インスタンスの次の接続プロパティを入力します。

    • ホスト : たとえば、 teradata-demo.teradata.com
    • ポート : たとえば、 1025
    • ユーザー : たとえば、 teradata_user
    • パスワード : たとえば、 password123
  8. 接続の作成 をクリックします。

  9. [カタログの基本 ] ページで、フォーリンカタログの名前を入力します。フォーリンカタログは、外部データ・システム内のデータベースをミラーリングするため、 Databricks と Unity Catalogを使用して、そのデータベース内のデータへのアクセスをクエリおよび管理できます。

  10. (オプション)[ 接続をテスト ]をクリックして、動作することを確認します。

  11. [ カタログを作成 ] をクリックします。

  12. [ アクセス ] ページで、作成したカタログにユーザーがアクセスできるワークスペースを選択します。[ すべてのワークスペースにアクセス権がある ] を選択するか、[ ワークスペースに割り当て ] をクリックし、ワークスペースを選択して [ 割り当て] をクリックします。

  13. カタログ内のすべてのオブジェクトへのアクセスを管理できる 所有者 を変更します。テキスト ボックスにプリンシパルの入力を開始し、返された結果でプリンシパルをクリックします。

  14. カタログに対する 権限を付与 します。[ 許可 ] をクリックします。

    1. カタログ内のオブジェクトにアクセスできる プリンシパル を指定します。テキスト ボックスにプリンシパルの入力を開始し、返された結果でプリンシパルをクリックします。

    2. 各プリンシパルに付与する 権限プリセット を選択します。デフォルトでは、すべてのアカウントユーザーに BROWSE が付与されます。

      • ドロップダウンメニューから「 データ閲覧者 」を選択して、カタログ内のオブジェクトに対する read 権限を付与します。
      • ドロップダウンメニューから「 データエディタ 」を選択して、カタログ内のオブジェクトに対する read 権限と modify 権限を付与します。
      • 付与する権限を手動で選択します。
    3. 付与 をクリックします。

  15. 次へ をクリックします。

  16. [メタデータ] ページで、タグのキーと値のペアを指定します。詳細については、「Unity Catalog セキュリティ保護可能なオブジェクトにタグを適用する」を参照してください。

  17. (オプション)コメントを追加します。

  18. 保存 をクリックします。

フォーリンカタログの作成

注記

UI を使用してデータソースへの接続を作成する場合は、フォーリンカタログの作成が含まれているため、この手順をスキップできます。

フォーリンカタログは、外部データシステム内のデータベースをミラーリングするため、DatabricksとUnity Catalogを使用して、そのデータベース内のデータへのアクセスを管理できます。フォーリンカタログを作成するには、すでに定義されているデータソースへの接続を使用します。

フォーリンカタログを作成するには、Catalog ExplorerCREATE FOREIGN CATALOGSQL を使用するか、Databricks ノートブックまたは クエリSQL エディターの コマンドを使用します。Databricks REST API または Databricks CLI を使用してカタログを作成することもできます。 POST /api/2.1/unity-catalog/catalogs を参照してください。 および Unity Catalog コマンド

必要な権限: メタストアの CREATE CATALOG 権限、接続の所有権または接続の CREATE FOREIGN CATALOG 権限。

  1. Databricks ワークスペースで、カタログアイコン[カタログ]をクリックして カタログエクスプローラー を開きます。

  2. カタログ ペインの上部で、追加またはプラスアイコン 追加 アイコンをクリックし、メニューから[ カタログを追加 ]を選択します。

    または、 クイックアクセス ページから[ カタログ ]ボタンをクリックし、[ カタログを作成 ]ボタンをクリックします。

  3. 「カタログの作成」のフォーリンカタログの作成手順に従います。

サポートされているプッシュダウン

次のプッシュダウンがサポートされています。

  • フィルター
  • 予測
  • 上限
  • 集計
  • キャスト
  • contains、startswith、endswith、like

データ型マッピング

Teradata から Spark に読み取る場合、データ型は次のようにマップされます。

テラデータ型

Spark タイプ

バイト、ブロブ

BinaryType

バイトイント、スモールイント、インテュジャー

IntegerType

BigINT

LongType

フロート、倍精度、倍精度

DoubleType

番号(n, m)

DecimalType

数値( , m), 数値

サポートされていません

バルチャー(N)

StringType

時間、タイムスタンプ

TimestampType