Skip to content

Trino

サポートされている認証

  • Basic(ユーザー名/パスワード)

前提条件

DataRobotでTrinoに接続するには、以下が必要です。

  • Trinoデータベースに保存されたデータ

必須パラメーター

以下の表は、Trinoとの接続を確立するために最低限必要なフィールドの一覧です。

必須フィールド 説明 ドキュメンテーション
Host Trinoコーディネーターのホスト名またはIPアドレス。 Trinoドキュメント

トラブルシューティング

問題 解決方法 説明
DataRobotで操作を実行しようとすると、ファイアウォールが毎回IPアドレスをクリアするよう要求します。 DataRobotで許可されたすべてのIPを追加します。 許可された送信元IPアドレスを参照してください。 許可されたIPをすでに追加している場合は、既存のIPが完全であることを確認してください。

コードの例

以下のPythonの例では、Trinoに接続してDataRobotにデータを移動する方法を示します。

DataRobotクライアントを初期化し、後で使用するためにデータベースの詳細を定義します。

api_token = '<token>'
endpoint = 'https://app.datarobot.com/api/v2'

import datarobot as dr
from datarobot.enums import DataStoreTypes

dr.Client(token=api_token, endpoint=endpoint)

TRINO_HOST = "datarobot.trino.galaxy.starburst.io"
TRINO_PORT = 443
USE_SSL = "true"
CATALOG = "<catalog>"
SCHEMA = "<schema>"
TABLE = "<table>"
QUERY = None
TRINO_USERNAME = "<username>"
TRINO_PASSWORD = "<password>" 

TrinoドライバーのIDを特定するには、以下のいずれかの操作を行います。

  • TrinoドライバーのIDを作成します。

    trino_driver = dr.DataDriver.create(
        class_name=DataStoreTypes.DR_DATABASE_V1,
        canonical_name='Trino Driver',
        database_driver='trino-v1',
    ) 
    
  • 既存のTrinoドライバーのIDを参照します。

    trino_driver = dr.DataDriver.get('<trino_driver_id>') 
    

Trinoの資格情報を作成(または再利用)し、DataRobotに安全に保存します。

trino_credentials = dr.Credential.create_basic(
    name='Trino Credentials',
    user=TRINO_USERNAME,
    password=TRINO_PASSWORD,
) 

外部データストアへの接続を定義します。

datastore_fields = [
    {"id": "host", "name": "Host Name", "value": TRINO_HOST},
    {"id": "port", "name": "port", "value": str(TRINO_PORT)},
    {"id": "ssl", "name": "ssl", "value": USE_SSL},
]

trino_datastore = dr.DataStore.create(
    data_store_type=DataStoreTypes.DR_DATABASE_V1,
    canonical_name='Trino Datastore',
    driver_id=trino_driver.id,
    fields=datastore_fields,
) 

特定のデータソース(テーブルまたはクエリー)を指定します。

data_source_params = dr.DataSourceParameters(
    data_store_id=trino_datastore.id,
    catalog=CATALOG,
    schema=SCHEMA,
    table=TABLE,
    query=QUERY,
)

trino_datasource = dr.DataSource.create(
    data_source_type=DataStoreTypes.DR_DATABASE_V1,
    canonical_name='Trino DataSource',
    params=data_source_params,
) 

Trinoからデータを取得し、スナップショットバージョンをDataRobotにインポートします。

trino_dataset = trino_datasource.create_dataset(
    do_snapshot=True,
    credential_id=trino_credentials.id,
)