Apache Hiveのデータを、AIDP(分析・統合データプラットフォーム)ノートブックから、AIDP の `aidataplatform` Spark形式ハンドラー経由で読み書きできます。 **次のような場合に使用:** - ユーザーが Hive、HiveServer2、HS2、HCatalog を言及している - Hive メタストア(メタデータ管理システム)のホスト/ポート情報がある **認証方法:** ホスト/ポート + ユーザー名/パスワード **機能:** 読み書き両対応
Read or write Apache Hive from an AIDP notebook via the AIDP `aidataplatform` Spark format handler. Use when the user mentions Hive, HiveServer2, HS2, HCatalog, or has a Hive metastore host/port. Auth is host/port + user/password. Read-write.
aidp-hive — AIDP aidataplatform 経由の Apache Hiveaidp-bds-hive は v0.4 スコープから削除済み。Kerberos が必要なお客様がいる場合は再検討してください)。
現在の aidp-hive skill は、aidataplatform フォーマットハンドラを介した非 Kerberos Hive(LDAP / SASL-PLAIN / NoAuth)に対応しています。oci:// 上に存在する Iceberg-on-Hive スタイルのメタデータを扱う場合 → aidp-iceberg を使用してください。sys.path にヘルパーが存在すること(事前に aidp-connectors-bootstrap を実行してください)。HIVE_HOST(HiveServer2 のホスト名)HIVE_PORT(通常 10000)HIVE_USER、HIVE_PASSWORDHIVE_SCHEMA(Hive データベース名)HIVE_TABLE(Hive テーブル名)import os
from oracle_ai_data_platform_connectors.aidataplatform import (
AIDP_FORMAT, aidataplatform_options,
)
opts = aidataplatform_options(
type="HIVE",
host=os.environ["HIVE_HOST"],
port=int(os.environ.get("HIVE_PORT", "10000")),
user=os.environ["HIVE_USER"],
password=os.environ["HIVE_PASSWORD"],
schema=os.environ["HIVE_SCHEMA"],
table=os.environ["HIVE_TABLE"],
)
df = spark.read.format(AIDP_FORMAT).options(**opts).load()
df.show(10)
opts = aidataplatform_options(
type="HIVE",
host=os.environ["HIVE_HOST"],
port=int(os.environ.get("HIVE_PORT", "10000")),
user=os.environ["HIVE_USER"],
password=os.environ["HIVE_PASSWORD"],
schema=os.environ["HIVE_SCHEMA"],
table=os.environ["HIVE_TARGET_TABLE"],
extra={"write.mode": "APPEND"}, # CREATE | APPEND | OVERWRITE
)
df.write.format(AIDP_FORMAT).options(**opts).save()
opts = aidataplatform_options(
type="HIVE",
host=os.environ["HIVE_HOST"],
port=int(os.environ.get("HIVE_PORT", "10000")),
user=os.environ["HIVE_USER"],
password=os.environ["HIVE_PASSWORD"],
extra={
"pushdown.sql": (
"SELECT customer_id, SUM(amount) AS total "
"FROM sales_db.transactions "
"WHERE event_dt >= '2025-01-01' "
"GROUP BY customer_id"
),
},
)
df = spark.read.format(AIDP_FORMAT).options(**opts).load()
df.show(10)
database.name オプションは存在しません — Hive はデータベースの識別に schema を直接使用します(例: default、sales_db)。database_name は渡さないでください。socket.create_connection((host, port), timeout=8)。
これが失敗する場合は認証の問題ではなくネットワークの問題です — VCN ピアリング / NSG / DNS の順で確認してください。CREATE(既存の場合はエラー)、APPEND、OVERWRITE。デフォルトは CREATE です。OVERWRITE は DataFrame の異なるパーティションキーが触れるすべてのパーティションを上書きします。触れていない既存のパーティションはそのまま保持されます。aidp-hive — Apache Hive via AIDP aidataplatformaidp-bds-hive from v0.4 scope; revisit if your customer needs Kerberos specifically). The current aidp-hive skill covers non-Kerberos Hive (LDAP / SASL-PLAIN / NoAuth) via the aidataplatform format handler.oci:// → aidp-iceberg.sys.path (run aidp-connectors-bootstrap first).HIVE_HOST (HiveServer2 hostname)HIVE_PORT (typically 10000)HIVE_USER, HIVE_PASSWORDHIVE_SCHEMA (Hive database name)HIVE_TABLE (Hive table name)import os
from oracle_ai_data_platform_connectors.aidataplatform import (
AIDP_FORMAT, aidataplatform_options,
)
opts = aidataplatform_options(
type="HIVE",
host=os.environ["HIVE_HOST"],
port=int(os.environ.get("HIVE_PORT", "10000")),
user=os.environ["HIVE_USER"],
password=os.environ["HIVE_PASSWORD"],
schema=os.environ["HIVE_SCHEMA"],
table=os.environ["HIVE_TABLE"],
)
df = spark.read.format(AIDP_FORMAT).options(**opts).load()
df.show(10)
opts = aidataplatform_options(
type="HIVE",
host=os.environ["HIVE_HOST"],
port=int(os.environ.get("HIVE_PORT", "10000")),
user=os.environ["HIVE_USER"],
password=os.environ["HIVE_PASSWORD"],
schema=os.environ["HIVE_SCHEMA"],
table=os.environ["HIVE_TARGET_TABLE"],
extra={"write.mode": "APPEND"}, # CREATE | APPEND | OVERWRITE
)
df.write.format(AIDP_FORMAT).options(**opts).save()
opts = aidataplatform_options(
type="HIVE",
host=os.environ["HIVE_HOST"],
port=int(os.environ.get("HIVE_PORT", "10000")),
user=os.environ["HIVE_USER"],
password=os.environ["HIVE_PASSWORD"],
extra={
"pushdown.sql": (
"SELECT customer_id, SUM(amount) AS total "
"FROM sales_db.transactions "
"WHERE event_dt >= '2025-01-01' "
"GROUP BY customer_id"
),
},
)
df = spark.read.format(AIDP_FORMAT).options(**opts).load()
df.show(10)
database.name option — Hive uses schema directly to identify the Hive database (e.g. default, sales_db). Don't pass database_name.socket.create_connection((host, port), timeout=8). If this fails, it's a network problem, not an auth problem — VCN peering / NSG / DNS, in that order.CREATE (fail if exists), APPEND, OVERWRITE. Default is CREATE.OVERWRITE overwrites all partitions touched by the DataFrame's distinct partition keys; existing partitions not touched are preserved.原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。