メインコンテンツへスキップ
Procore

Spark を使用した ADLS へのエクスポート

概要

このガイドでは、Windows オペレーティング システムでデルタ共有統合パッケージを設定して使用し、Procore アナリティクスを使用してワークフローにデータをシームレスに統合するための詳細な手順について説明します。このパッケージは複数の実行オプションをサポートしているため、必要な構成と統合方法を選択できます。

前提条件

先に進む前に、次のものがあることを確認してください。

  • Procore アナリティクス 2.0 SKU
  • Delta Sharing pofile ファイル:
    Delta Sharing 資格情報 を含む *.share ファイルを取得します。便宜上、パッケージディレクトリにコピーしてください。
  • Python 環境: Python 3 と pip をシステムにインストールします。

 

ステップ

パッケージを準備する

  1. JSON 形式の Delta Share 資格情報を使用して 、config.share という名前の新しいファイルを作成します。

{
"shareCredentialsVersion":1、
"bearerToken": "xxxxxxxxxxxxx",
"endpoint": "https://nvirginia.cloud.databricks.c...astores/xxxxxx"
}

  1. 必須フィールドを取得します。
    手記: これらの詳細は、Procore アナリティクス ウェブ アプリケーションから取得できます。
    • ShareCredentialsVersion: バージョン番号 (現在は 1)。
    • BearerToken: Delta Share アクセス トークン。
    • エンドポイント: Delta Share エンドポイント URL。
  2. パッケージをダウンロードして解凍します。
  3. 任意のディレクトリにパッケージを解凍します。
  4. *.share Delta Sharing プロファイル ファイルをパッケージ ディレクトリにコピーして、簡単にアクセスできるようにします。
    analytics-sql-windows2.png

依存関係のインストール

  1. パッケージディレクトリでターミナルを開きます。
  2. 次のコマンドを実行して、依存関係をインストールします。
  3. pip install -r requirements.txtを実行します

コンフィギュレーションの生成

  1. python user_exp.py を実行して config.yaml ファイルを生成します。
    このスクリプトは、必要な資格情報と設定を含む config.yaml ファイルを生成するのに役立ちます。
  2. データ ソースを構成するときに、次の情報を提供するように求められます。
    • テーブルのリスト (カンマ区切り)。
    • すべてのテーブルを同期するには、空白のままにします。
      例: 'table1, table2, table3'
    • 「config.share」へのパスファイル。
  3. 初めて、Delta Share ソース構成の場所、テーブル、データベース、ホストなどの資格情報を指定します。
    手記:その後、手動で、またはpython user_exp.pyを実行して、構成を再利用または更新できます。

cron ジョブと即時実行の構成 (オプション)

  1. 自動実行用にcronジョブを設定するかどうかを決定します。
  2. cron スケジュールを指定します。
    • 形式: * * * * * ( 分、時、「月の日」、月、「曜日」)。
    • 毎日午前 2 時の実行の例: 0 2 * * *
    • スケジュール ログを確認するために、スケジュールが設定されるとすぐにファイル 'procore_scheduling.log' が作成されます。

また、ターミナルコマンドで実行してスケジュールを確認することもできます。

LinuxおよびMacOSの場合:

編集/削除 - 以下を使用してスケジューリングcronを編集します。

'''bash
EDITOR=nano crontab -e
```

  • 上記のコマンドを実行すると、次のようなものが表示されます。
  • 2 * * * * /ユーザー/your_user/スノーフレーク/venv/bin/python /ユーザー/your_user/スノーフレーク/sql_server_python/connection_config.py 2>&1 |行を読み取っている間。do echo "$(日付) - $line";完了 >> /ユーザー/your_user/snowflake/sql_server_python/procore_scheduling.log # procore-data-import
  • また、schedule cron を調整したり、行全体を削除したりして、スケジュールによる実行を停止することもできます。

Windowsの場合:

  • スケジュール タスクが作成されたことを確認します。
    '''PowerShell
    schtasks /query /tn "ProcoreDeltaShareScheduling" /fo LIST /v

    ```
  • 編集/削除 - タスクのスケジュール設定:
    タスクスケジューラを開きます。
    • Win + Rを押し、taskschd.mscと入力し、と入力し、Enter キーを押します。
    • スケジュールされたタスクに移動します。
    • 左側のウィンドウで、[タスク スケジューラ ライブラリ] を展開します。
    • タスクが保存されているフォルダを探します (例: タスク スケジューラ ライブラリまたはカスタム フォルダ)。
  • タスクを見つける:
    • タスク名 ProcoreDeltaShareScheduling を探します。
    • それをクリックすると、下部のペインに詳細が表示されます。
  • スケジュールを確認します。
    • [トリガー] タブをチェックして、タスクがいつ実行されるかを確認します。
    • [履歴] タブをチェックして、最近の実行を確認します。
  • タスクを削除するには:
    • GUI からタスクを削除します。

即時実行の質問:

  • 設定後すぐにデータをコピーするためのスクリプトを実行するオプション。
  • config.yaml を生成した後、CLIは、パッケージに応じて、データをコピーするためのスクリプトを実行することで、いつでも個別に実行する準備ができています。以下の例を参照してください。
    Python delta_share_to_azure_panda.py
    又は
    Python delta_share_to_SQL_spark.py
    又は
    パイソンdelta_share_to_azure_dfs_spark.py

実行と保守

一般的な問題と解決策

  1. cronジョブのセットアップ:
    • システム権限が正しく設定されていることを確認します。
    • ジョブの実行に失敗した場合は、システムログを確認します。
    • スクリプト delta_share_to_azure_panda.pyに実行権限があることを確認します。
  2. 構成ファイル:
    • config.yaml ファイルがスクリプトと同じディレクトリにあることを確認します。
    • 変更を加える前にファイルをバックアップしてください。

サポート

さらにヘルプが必要な場合:

  1. スクリプト ログで詳細なエラー メッセージを確認します。
  2. config.yaml ファイルに設定ミスがないか再確認してください。
  3. 権限関連の問題については、システム管理者に問い合わせてください。
  4. Delta Share アクセスに関連する問題については、Procore サポートにお問い合わせください。
  5. 失敗したテーブルのログを確認する: failed_tables.log

  1. 変更を加える前に、必ず構成ファイルをバックアップしてください。
  2. 中断を防ぐために、非運用環境で新しい構成をテストします。