分析モデルをダウンロードして Procore データを接続する
目的
Analytics モデルをプログラムでダウンロードして、Procore データを BI システムに接続すること。
検討事項
- 要件:
- Python 3.6 以降がシステムにインストールされていること。
- Procore から受信した「config.share」ファイル。
- システムにインストールされている必要な Python パッケージ。
- このスクリプトは、PySpark と Python の両方をサポートしています。
- PySparkを使用している場合は、Spark 3.5.1以降、Javaをインストールし、SPARK_HOME環境変数を構成していることを確認してください。
- Python を使用していて、ターゲットの場所が MSSQL DB の場合は、SQL Server 用の ODBC ドライバー 17 をシステムにインストールします。
ステップ
注
この接続方法は、通常、データの専門家によって使用されます。資格情報ファイルの作成
まず、Procore Web アプリケーション内でデータ トークンを生成する必要があります。「アクセストークンの生成」を参照してください。
- config.share というファイルを作成します。
- 以下のフィールドを追加します。
{
"shareCredentialsVersion":1、
"bearerToken": "",
"エンドポイント": "",
"expirationTime": ""
} - Procore から受け取った [ベアラー トークン]、[エンドポイント]、[共有資格情報のバージョン]、および [有効期限] の値を config.share ファイルに追加します。
スクリプトuser_exp.pyを実行する
次のスクリプトを使用して、必要な構成で config.yaml ファイルを作成できます。
- Azure Storage の場合:
cron_job: #true/false
run_as: #pyspark/python
source_config:
config_path: config.share ファイルへの #path
テーブル:
- '' # 特定のテーブルをダウンロードする場合はテーブル名。すべてのテーブルをダウンロードする場合は、空のままにします
source_type:delta_share
target_config:
auth_type:service_principal
client_id:#client_id
secret_id: #secret_id
storage_account: #storage アカウント名
storage_path: #<container> <storage-account>@.dfs.core.windows.net/<directory>
enant_id:#tenant_id
target_type:azure_storage
- MSSQL DBの場合:
cron_job: #true/false
run_as: #pyspark/python
source_config:
config_path: config.share ファイルへの #path
テーブル:
- '' # 特定のテーブルをダウンロードする場合はテーブル名。すべてのテーブルをダウンロードする場合は、空のままにします
source_type:delta_share
target_config:
database: #target データベース
host: #target ホスト名:ポート
パスワード:#password
schema: #target スキーマ (既定値は procore_analytics)
ユーザー名:#username
target_type:sql_server
PySpark として実行
環境が既に Spark で設定されている場合は、要求されたときに "pyspark" オプションを選択するか、"config.yaml" が生成されたら、次のコマンドを実行してレポートをデータ ディレクトリにダウンロードできます。
- ADLS Gen2 ストレージに書き込む場合:
spark-submit --packages io.delta:delta-sharing-spark_2.12:3.1.0,org.apache.hadoop:hadoop-azure:3.4.0,com.microsoft.azure:azure-storage:8.6.6,org.apache.hadoop:hadoop-common:3.4.0 --exclude-packages com.sun.xml.bind:jaxb-impldelta_share_to_sql_spark.py - MSSQL DBに書き込む場合:
spark-submit --packages io.delta:delta-sharing-spark_2.12:3.1.0--jars <mssql-jdbc jar の場所> delta_share_to_sql_spark.py
Python として実行
- コマンドラインから、「cd <path to the folder>」 コマンドを入力してフォルダに移動します。
- 「pip install -r requirements.txt」を使用して必要なパッケージをインストールしますまたは 「python -m pip install -r requirements.txt」。
- python delta_share_to_azure_pandy.py コマンドを実行します。
SSIS の使用
- SSIS を開き、新しいプロジェクトを作成します。
- [SSIS ツールボックス] から [ プロセス タスクの実行] をドラッグ アンド ドロップします。
- 「 プロセス・タスクの実行」をダブルクリックします。
- [プロセス] タブに移動します。
- [実行可能ファイル] の横に、Python インストール フォルダー内のpython.exeへのパスを入力します。
- [WorkingDirectory] に、実行するスクリプトを含むフォルダーへのパスを入力します (スクリプト ファイル名は含みません)。
- [引数] に、.pyで実行するスクリプトdelta_share_to_azure_panda.pyの名前を入力します拡張子を右クリックし 、[保存] をクリックします。
- 上部のリボン メニューで [ 開始 ] をクリックします。
- タスクの実行中に、Python コンソールの出力が外部コンソール ウィンドウに表示されます。
- タスクが完了すると、チェックマークが表示されます。
独自の方法を選択してください
Delta Sharing は、安全なデータ共有のためのオープン プロトコルです。Delta Sharing のパブリック GitHub リポジトリは 、https://github.com/delta-io/delta-sharing にあります。リポジトリには、Python や Spark コネクタ (SQL、Python、Scala、Java、R) などのさまざまな言語を使用して共有データにアクセスするための例とドキュメントが含まれています。

