claude-skills/

Anthropic公式スキル・プラグインの日本語ディレクトリ

last sync 22h ago
スキルOfficialdevelopment

🗄️aidp-peoplesoft

説明

AIDP の `aidataplatform` Spark フォーマットハンドラーを使用して、AIDP ノートブック内で Oracle PeopleSoft のデータを Spark DataFrame に読み込みます。 次のような場合に使用: ユーザーが PeopleSoft、PSFT、HCM、FSCM、Campus Solutions について言及している場合、または PeopleSoft のホスト/ポート情報を持っている場合。 認証情報: ホスト/ポート+データベース名+ユーザー名/パスワード。 読み取り専用。

原文を表示

Read from Oracle PeopleSoft into a Spark DataFrame in an AIDP notebook via the AIDP `aidataplatform` Spark format handler. Use when the user mentions PeopleSoft, PSFT, HCM, FSCM, Campus Solutions, or has a PeopleSoft host/port. Auth is host/port + database name + user/password. Read-only.

ユースケース

  • PeopleSoftのデータをSparkで読み込む
  • PSFT・HCM・FSCMなどのデータ取得
  • AIDPノートブック内でOracleデータにアクセス

本文(日本語訳)

aidp-peoplesoft — AIDP aidataplatform 経由の Oracle PeopleSoft

使用する場面

  • AIDPノートブックから PeopleSoft のデータ(HCM、FSCM、Campus Solutions、ELM、CRM)を Spark DataFrame に取り込みたい場合。
  • ユーザーが「PeopleSoft」「PSFT」「PS HCM」「Campus Solutions」といったキーワードを挙げている場合。

使用しない場面

  • Oracle Autonomous DB ファミリー(ALH / ADW / ATP)の場合 → aidp-alh
  • Compute / Base DB / オンプレミス上の汎用 Oracle DB の場合 → aidp-oracle-db
  • Oracle Siebel の場合 → aidp-siebel

AIDPノートブックの前提条件

  1. sys.path にヘルパーが含まれていること(事前に aidp-connectors-bootstrap を実行してください)。
  2. 環境変数 / OCI Vault シークレットの設定:
    • PSFT_HOST(PeopleSoft DB ホスト)
    • PSFT_PORT(基盤となる Oracle DB 向け、通常は 1521
    • PSFT_DATABASE_NAME(Oracle SID / サービス名)
    • PSFT_USERPSFT_PASSWORD
    • PSFT_SCHEMA(通常は SYSADM
    • PSFT_TABLE(PeopleSoft レコードテーブル。例: PS_JOBPS_VOUCHER

読み込み

import os
from oracle_ai_data_platform_connectors.aidataplatform import (
    AIDP_FORMAT, aidataplatform_options,
)

opts = aidataplatform_options(
    type="ORACLE_PEOPLESOFT",
    host=os.environ["PSFT_HOST"],
    port=int(os.environ["PSFT_PORT"]),
    database_name=os.environ["PSFT_DATABASE_NAME"],
    user=os.environ["PSFT_USER"],
    password=os.environ["PSFT_PASSWORD"],
    schema=os.environ.get("PSFT_SCHEMA", "SYSADM"),
    table=os.environ["PSFT_TABLE"],
)
df = spark.read.format(AIDP_FORMAT).options(**opts).load()
df.show(10)

プッシュダウン SQL

データベース側で完全なソースクエリを実行します。コネクタは schema / table オプションの構築をスキップし、指定した SQL をそのまま実行します。 テーブル全体を Spark にフェッチさせたくない場合のジョイン、フィルタ、導出列の処理などに有効です。

opts = aidataplatform_options(
    type="ORACLE_PEOPLESOFT",
    host=os.environ["PSFT_HOST"],
    port=int(os.environ["PSFT_PORT"]),
    database_name=os.environ["PSFT_DATABASE_NAME"],
    user=os.environ["PSFT_USER"],
    password=os.environ["PSFT_PASSWORD"],
    extra={
        "pushdown.sql": (
            "SELECT EMPLID, EFFDT, DEPTID, JOBCODE "
            "FROM SYSADM.PS_JOB "
            "WHERE EFF_STATUS = 'A' AND EFFDT >= DATE '2025-01-01'"
        ),
    },
)
df = spark.read.format(AIDP_FORMAT).options(**opts).load()
df.show(10)

注意事項

  • コネクタは読み取り専用です。 PeopleSoft は信頼できる唯一の情報源(source of truth)として扱われます。書き戻しは Spark ではなく、PeopleSoft 自身のアプリケーション API を通じて行う必要があります。
  • 基盤は Oracle DB です。 PeopleSoft の多くのインストール環境は Oracle DB 上で動作しており、コネクタは DB に直接アクセスします。ネットワーク到達性のルールは aidp-oracle-db と同様で、クラスターの Pod CIDR から PeopleSoft DB ホストへの L3 経路が必要です。
  • SYSADM スキーマは PeopleSoft の標準オーナーです。コネクタのユーザーが必要な PS_* テーブルに対して SELECT 権限を持っていることを確認してください。PeopleSoft のテーブルはデフォルトで PUBLIC に付与されていません。
  • 取得前に行数を確認してください。 PeopleSoft のファクトテーブルは数億行に及ぶことがあります。本番環境では必ず pushdown.sqlWHERE フィルタを指定してください。

参考情報

原文(English)を表示

aidp-peoplesoft — Oracle PeopleSoft via AIDP aidataplatform

When to use

  • User wants to ingest PeopleSoft data (HCM, FSCM, Campus Solutions, ELM, CRM) into a Spark DataFrame from an AIDP notebook.
  • User mentions: "PeopleSoft", "PSFT", "PS HCM", "Campus Solutions".

When NOT to use

  • For Oracle Autonomous DB family (ALH/ADW/ATP) → aidp-alh.
  • For generic Oracle DB on Compute / Base DB / on-prem → aidp-oracle-db.
  • For Oracle Siebel → aidp-siebel.

Prerequisites in the AIDP notebook

  1. Helpers on sys.path (run aidp-connectors-bootstrap first).
  2. Env vars / OCI Vault secrets:
    • PSFT_HOST (PeopleSoft DB host)
    • PSFT_PORT (typically 1521 for the underlying Oracle DB)
    • PSFT_DATABASE_NAME (Oracle SID / service)
    • PSFT_USER, PSFT_PASSWORD
    • PSFT_SCHEMA (typically SYSADM)
    • PSFT_TABLE (PeopleSoft record table, e.g. PS_JOB, PS_VOUCHER)

Read

import os
from oracle_ai_data_platform_connectors.aidataplatform import (
    AIDP_FORMAT, aidataplatform_options,
)

opts = aidataplatform_options(
    type="ORACLE_PEOPLESOFT",
    host=os.environ["PSFT_HOST"],
    port=int(os.environ["PSFT_PORT"]),
    database_name=os.environ["PSFT_DATABASE_NAME"],
    user=os.environ["PSFT_USER"],
    password=os.environ["PSFT_PASSWORD"],
    schema=os.environ.get("PSFT_SCHEMA", "SYSADM"),
    table=os.environ["PSFT_TABLE"],
)
df = spark.read.format(AIDP_FORMAT).options(**opts).load()
df.show(10)

Pushdown SQL

Push a complete source query at the database — connector skips schema/table option building and runs the SQL verbatim. Useful for joins, filters, derived columns where you don't want Spark to fetch the full table.

opts = aidataplatform_options(
    type="ORACLE_PEOPLESOFT",
    host=os.environ["PSFT_HOST"],
    port=int(os.environ["PSFT_PORT"]),
    database_name=os.environ["PSFT_DATABASE_NAME"],
    user=os.environ["PSFT_USER"],
    password=os.environ["PSFT_PASSWORD"],
    extra={
        "pushdown.sql": (
            "SELECT EMPLID, EFFDT, DEPTID, JOBCODE "
            "FROM SYSADM.PS_JOB "
            "WHERE EFF_STATUS = 'A' AND EFFDT >= DATE '2025-01-01'"
        ),
    },
)
df = spark.read.format(AIDP_FORMAT).options(**opts).load()
df.show(10)

Gotchas

  • Connector is read-only. PeopleSoft is treated as a source-of-truth system; writes back must go through PeopleSoft's own application APIs, not Spark.
  • Underlying Oracle DB. Most PeopleSoft installs run on Oracle DB; the connector hits the DB directly. Network reachability rules from aidp-oracle-db apply — cluster pod CIDR needs L3 path to the PeopleSoft DB host.
  • SYSADM schema is the standard PeopleSoft owner. Ensure the connector user has SELECT privs on the PS_* tables you need — PeopleSoft tables are not granted to PUBLIC by default.
  • Read row count before pulling — PeopleSoft fact tables can have hundreds of millions of rows. Always include a WHERE filter via pushdown.sql for production.

References

原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。