💼aidp-siebel
- ソース
- GitHub で見る ↗
説明
AIDP の `aidataplatform` Spark フォーマットハンドラーを使用して、AIDP ノートブック内で Oracle Siebel CRM から Spark DataFrame にデータを読み込みます。 次のような場合に使用: ユーザーが Siebel、Siebel CRM、S_CONTACT、S_ORG_EXT について言及している場合、または Siebel のホスト/ポート情報を持っている場合。 認証情報はホスト/ポート、データベース名、ユーザー名/パスワードの組み合わせで行います。 読み取り専用です。
原文を表示
Read from Oracle Siebel CRM into a Spark DataFrame in an AIDP notebook via the AIDP `aidataplatform` Spark format handler. Use when the user mentions Siebel, Siebel CRM, S_CONTACT, S_ORG_EXT, or has a Siebel host/port. Auth is host/port + database name + user/password. Read-only.
ユースケース
- ✓Siebel CRMからデータを読み込むとき
- ✓AIDP ノートブック内でSparkを使うとき
- ✓Oracle Siebel のデータを分析するとき
本文(日本語訳)
aidp-siebel — AIDP aidataplatform 経由の Oracle Siebel CRM
使用する場合
- AIDPノートブックから Siebel CRM のデータ(連絡先、取引先、商談、サービスリクエスト)を Spark DataFrame に取り込みたい場合。
- ユーザーが「Siebel」「Siebel CRM」「S_CONTACT」「S_ORG_EXT」「S_OPTY」、Siebelベーステーブルについて言及している場合。
使用しない場合
- Oracle Autonomous DB ファミリー(ALH / ADW / ATP)の場合 →
aidp-alh - Oracle PeopleSoft の場合 →
aidp-peoplesoft - 汎用 Oracle DB の場合 →
aidp-oracle-db
AIDPノートブックの前提条件
sys.pathにヘルパーが追加されていること(先にaidp-connectors-bootstrapを実行すること)。- 環境変数 / OCI Vault シークレット:
SIEBEL_HOST、SIEBEL_PORT(通常は1521)SIEBEL_DATABASE_NAME(Oracle SID / サービス名)SIEBEL_USER、SIEBEL_PASSWORDSIEBEL_SCHEMA(通常はSIEBEL)SIEBEL_TABLE(Siebelベーステーブル名。例:S_CONTACT、S_ORG_EXT)
読み取り
import os
from oracle_ai_data_platform_connectors.aidataplatform import (
AIDP_FORMAT, aidataplatform_options,
)
opts = aidataplatform_options(
type="ORACLE_SIEBEL",
host=os.environ["SIEBEL_HOST"],
port=int(os.environ["SIEBEL_PORT"]),
database_name=os.environ["SIEBEL_DATABASE_NAME"],
user=os.environ["SIEBEL_USER"],
password=os.environ["SIEBEL_PASSWORD"],
schema=os.environ.get("SIEBEL_SCHEMA", "SIEBEL"),
table=os.environ["SIEBEL_TABLE"],
)
df = spark.read.format(AIDP_FORMAT).options(**opts).load()
df.show(10)
プッシュダウン SQL
pushdown.sql を使用すると、完全なソースクエリを実行できます。
ベーステーブル全体を Spark に取り込む代わりに、JOIN・フィルタ・集計処理を Siebel DB 側にプッシュダウンします。
opts = aidataplatform_options(
type="ORACLE_SIEBEL",
host=os.environ["SIEBEL_HOST"],
port=int(os.environ["SIEBEL_PORT"]),
database_name=os.environ["SIEBEL_DATABASE_NAME"],
user=os.environ["SIEBEL_USER"],
password=os.environ["SIEBEL_PASSWORD"],
extra={
"pushdown.sql": (
"SELECT C.ROW_ID, C.LAST_NAME, C.FST_NAME, O.NAME AS ACCOUNT "
"FROM SIEBEL.S_CONTACT C "
"JOIN SIEBEL.S_ORG_EXT O ON C.PR_HELD_POSTN_ID = O.ROW_ID "
"WHERE C.STATUS_CD = 'Active'"
),
},
)
df = spark.read.format(AIDP_FORMAT).options(**opts).load()
df.show(10)
注意事項
-
コネクターは読み取り専用です。 Siebelデータの書き戻しは Siebel の EAI / REST チャネルを通じて行うべきであり、Spark は使用しません。 このコネクターは意図的に一方向のみの設計となっています。
-
基盤は Oracle DB です。 Siebel は Oracle DB 上で動作するため、
aidp-oracle-dbのネットワーク到達性ルールが適用されます。 -
SIEBELスキーマオーナー。 標準的な Siebel インストールでは、すべてのベーステーブル(S_*)がSIEBELスキーマ配下に所属します。 コネクター用ユーザーにはSELECT権限が必要です。 -
ソフトデリートカラム。 Siebel はキーとして
ROW_IDを、増分取り込みにはLAST_UPDを使用します。 差分ロードにはpushdown.sqlでWHERE LAST_UPD > :sinceのようにフィルタしてください。 -
監査カラム。
CREATED、CREATED_BY、LAST_UPD、LAST_UPD_BYは全行のトリガーによって設定されます。 変更追跡に役立てることができます。
参考資料
原文(English)を表示
aidp-siebel — Oracle Siebel CRM via AIDP aidataplatform
When to use
- User wants to ingest Siebel CRM data (contacts, accounts, opportunities, service requests) into a Spark DataFrame from an AIDP notebook.
- User mentions: "Siebel", "Siebel CRM", "S_CONTACT", "S_ORG_EXT", "S_OPTY", Siebel base tables.
When NOT to use
- For Oracle Autonomous DB family (ALH/ADW/ATP) →
aidp-alh. - For Oracle PeopleSoft →
aidp-peoplesoft. - For generic Oracle DB →
aidp-oracle-db.
Prerequisites in the AIDP notebook
- Helpers on
sys.path(runaidp-connectors-bootstrapfirst). - Env vars / OCI Vault secrets:
SIEBEL_HOST,SIEBEL_PORT(typically1521)SIEBEL_DATABASE_NAME(Oracle SID / service)SIEBEL_USER,SIEBEL_PASSWORDSIEBEL_SCHEMA(typicallySIEBEL)SIEBEL_TABLE(a Siebel base table, e.g.S_CONTACT,S_ORG_EXT)
Read
import os
from oracle_ai_data_platform_connectors.aidataplatform import (
AIDP_FORMAT, aidataplatform_options,
)
opts = aidataplatform_options(
type="ORACLE_SIEBEL",
host=os.environ["SIEBEL_HOST"],
port=int(os.environ["SIEBEL_PORT"]),
database_name=os.environ["SIEBEL_DATABASE_NAME"],
user=os.environ["SIEBEL_USER"],
password=os.environ["SIEBEL_PASSWORD"],
schema=os.environ.get("SIEBEL_SCHEMA", "SIEBEL"),
table=os.environ["SIEBEL_TABLE"],
)
df = spark.read.format(AIDP_FORMAT).options(**opts).load()
df.show(10)
Pushdown SQL
Use pushdown.sql to run a complete source query — push joins, filters, and aggregations to the Siebel DB instead of pulling whole base tables into Spark.
opts = aidataplatform_options(
type="ORACLE_SIEBEL",
host=os.environ["SIEBEL_HOST"],
port=int(os.environ["SIEBEL_PORT"]),
database_name=os.environ["SIEBEL_DATABASE_NAME"],
user=os.environ["SIEBEL_USER"],
password=os.environ["SIEBEL_PASSWORD"],
extra={
"pushdown.sql": (
"SELECT C.ROW_ID, C.LAST_NAME, C.FST_NAME, O.NAME AS ACCOUNT "
"FROM SIEBEL.S_CONTACT C "
"JOIN SIEBEL.S_ORG_EXT O ON C.PR_HELD_POSTN_ID = O.ROW_ID "
"WHERE C.STATUS_CD = 'Active'"
),
},
)
df = spark.read.format(AIDP_FORMAT).options(**opts).load()
df.show(10)
Gotchas
- Connector is read-only. Siebel data should be written back through Siebel's EAI/REST channels, not Spark. The connector is intentionally one-way.
- Underlying Oracle DB. Siebel runs on Oracle DB; network reachability rules from
aidp-oracle-dbapply. SIEBELschema owner. Standard Siebel install owns all base tables (S_*) under theSIEBELschema. The connector user needsSELECTprivs.- Soft-delete columns. Siebel uses
ROW_IDkeys andLAST_UPDfor incremental ingest. Filter withWHERE LAST_UPD > :sinceviapushdown.sqlfor delta loads. - Audit columns.
CREATED,CREATED_BY,LAST_UPD,LAST_UPD_BYare populated by triggers on every row — useful for change tracking.
References
原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。