プロジェクト構造
MarkLogicデータハブでプロジェクトを初期化すると、基本ディレクトリツリーと一部のファイルのベースが作成されます。Flow、ステップ、その他の設定を作成すると、さらに多くのディレクトリとファイルが自動的に作成されます。
ただし、ディレクトリにカーソルを合わせると、説明が表示されます(使用可能な場合)。
your-project-root
├── build.gradle
├── gradle-properties
├── gradle-env.properties
├── gradlew
├── gradlew.bat
├── marklogic-datahub-5.0.0.war
├── build
│ ├── com.marklogic.ml-app-deployer
│ └── ml-javaclient-util
├── entities
│ ├── entity1.entity.json
│ ├── ...
│ └── entityN.entity.json
├── flows
├── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── mappings
├── src
│ └── main
│ ├── entity-config
│ ├── hub-internal-config
│ │ ├── databases
│ │ │ ├── job-database.json
│ │ │ ├── staging-database.json
│ │ │ ├── staging-schemas-database.json
│ │ │ └── staging-triggers-database.json
│ │ ├── security
│ │ │ ├── amps
│ │ │ │ └── dhf-amp-*.json
│ │ │ ├── privileges
│ │ │ │ ├── dhf-internal-data-hub.json
│ │ │ │ ├── dhf-internal-entities.json
│ │ │ │ ├── dhf-internal-mappings.json
│ │ │ │ └── dhf-internal-trace-ui.json
│ │ │ ├── roles
│ │ │ │ ├── data-hub-admin-role.json
│ │ │ │ ├── flow-developer-role.json
│ │ │ │ └── flow-operator-role.json
│ │ │ └── users
│ │ │ ├── flow-developer-user.json
│ │ │ └── flow-operator-user.json
│ │ ├── servers
│ │ │ ├── job-server.json
│ │ │ └── staging-server.json
│ │ └── triggers
│ │ ├── ml-dh-entity-create.json
│ │ ├── ml-dh-entity-delete.json
│ │ └── ml-dh-entity-modify.json
│ ├── ml-config
│ │ ├── databases
│ │ │ ├── final-database.json
│ │ │ ├── final-schemas-database.json
│ │ │ ├── final-triggers-database.json
│ │ │ ├── modules-database.json
│ │ │ ├── data-hub-staging-SCHEMAS
│ │ │ │ └── schemas
│ │ │ └── data-hub-final-SCHEMAS
│ │ │ └── schemas
│ │ ├── security
│ │ │ ├── privileges
│ │ │ ├── roles
│ │ │ └── users
│ │ └── servers
│ │ └── final-server.json
│ ├── ml-modules
│ │ └── root
│ │ └── custom-modules
│ └── ml-schemas
├── step-definitions
│ ├── ingestion
│ ├── mapping
│ ├── mastering
│ └── custom
└── .tmp
└── hub-modules-deploy-timestamps.properties
build.gradle
このファイルでは、Gradleを使用して、データハブインスタンスを設定および管理できます。Gradleのドキュメントを参照してください。
gradle.properties
このプロパティファイルでは、データハブを正しくインストールおよび実行するために必要な変数を定義します。このファイルには、データハブのすべてのインスタンスに適用される値を格納します。
gradle-env.properties
データハブは、プロジェクトのさまざまな環境(例:dev
ハブプロジェクトのオーバーライドファイルに基づくqa
、prod
、local
など)を使用します。新しい環境を作成するには、ダッシュの後に環境名を付けて新しいオーバーライドファイルを作成します。例えば、gradle-local.propertiesファイルには、ローカル環境のgradle.properties内の変数をオーバーライドする設定が含まれています。
gradlew
gradleディレクトリのGradleラッパーを実行するUnix/Linux実行可能ファイル。
gradlew.bat
gradleディレクトリのGradleラッパーを実行するWindows実行可能ファイル。
entities
flows
このディレクトリには、Flow定義が含まれています。Flowは、データの読み込みからマッピング、マスタリングまでを処理する一連のステップで構成されています。
gradle
このディレクトリには、Gradleラッパーが含まれています。Gradleラッパーは、Gradleのカスタムローカルバージョンであるため、Gradleを個別にインストールする必要はありません。Gradleラッパーは、新しいデータハブプロジェクトを初期化するときにインストールされます。
mappings
このディレクトリには、モデル間マッピングの設定アーティファクトが含まれています。詳細については、「マッピングについて」を参照してください。
src/main/entity-config
このディレクトリには、ステージングおよびファイナル用の2つのオプションファイルと2つのデータベース設定ファイルが含まれています。これらのファイルは、インデックスを設定するために変更できます。
src/main/hub-internal-config
このディレクトリには、サブディレクトリと、データハブが機能するために必要な最小限の設定を表すJSONファイルが含まれています。
hub-internal configには、STAGINGサーバーやJOBのサーバーおよびデータベースなど、内部のサーバーおよびデータベース用の設定ファイルが含まれています。ml-configには、FINALサーバーおよびデータベース用に同じファイルが含まれています。
上記の各JSONファイルは、以下の作成に備えてMarkLogic REST APIに準拠しています。
src/main/hub-internal-config/databases
このディレクトリには、STAGING*データベースやJOBデータベースなどの内部データベースの設定が含まれています。
src/main/hub-internal-config/security
このディレクトリには、amps、権限、ロール、ユーザーを含むSTAGINGサーバーのセキュリティ設定ファイルが含まれています。
- ampsサブディレクトリには、権限を一時的に高めるための設定ファイルが格納されています。
- privilegesサブディレクトリには、データにアクセスするためのさまざまな権限またはパーミッションを定義する設定ファイルが格納されています。権限はロールにグループ化され、必要に応じてロールにユーザーが割り当てられます。
- rolesサブディレクトリには、3つのデフォルトのロール(data-hub-admin-role、flow-developer-role、およびflow-operator-role)の設定ファイルが事前に配置されています。
- usersサブディレクトリには、2つのデフォルトユーザー(flow-developer-userおよびflow-operator-user)の設定ファイルが事前に配置されています。
src/main/hub-internal-config/servers
このディレクトリには、JOBサーバーやSTAGINGサーバーなどの内部サーバーの設定が格納されています。
src/main/hub-internal-config/triggers
このディレクトリには、トリガー定義ファイルが含まれています。「Overview of Triggers(トリガーの概要)」を参照してください。
src/main/ml-config
このディレクトリには、データハブプロジェクトの設定に使用する追加のサブディレクトリとJSONファイルが含まれています。このディレクトリに、カスタムモジュールや変換だけでなく、他の設定アセットも追加できます。
hub-internal configには、STAGINGサーバーやJOBのサーバーおよびデータベースなど、内部のサーバーおよびデータベース用の設定ファイルが含まれています。ml-configには、FINALサーバーおよびデータベース用に同じファイルが含まれています。
以下のファイルは、ml-config/databasesディレクトリにのみ存在します。
- final-database.json
- final-schemas-database.json
- final-triggers-database.json
- modules-database.json
- final-server.json
src/main/ml-config/databases
このディレクトリには、FINAL*データベースなどの外部データベースの設定が含まれています。
src/main/ml-config/databases/data-hub-staging-SCHEMAS
このディレクトリには、内部(ステージング*)SCHEMASデータベースの設定が含まれています。
src/main/ml-config/databases/data-hub-final-SCHEMAS
ml-gradle v3.11以降で使用されています。このディレクトリには、外部(ファイナル*)SCHEMASデータベースの設定が含まれています。ml-gradle v3.10以前の場合は、src/main/ml-schemasを参照してください。
src/main/ml-config/security
このディレクトリには、権限、ロール、ユーザーなど、FINALサーバーのセキュリティ設定ファイルが含まれています。
- privilegesサブディレクトリには、データにアクセスするためのさまざまな権限またはパーミッションを定義する設定ファイルが格納されています。権限はロールにグループ化され、必要に応じてロールにユーザーが割り当てられます。
- rolesサブディレクトリには、セキュリティロールの設定ファイルが格納されています。
- usersサブディレクトリには、ユーザーの設定ファイルが格納されています。
src/main/ml-config/servers
このディレクトリには、FINALサーバーなどの外部データベースの設定が含まれています。
src/main/ml-modules
このディレクトリは、モジュールデータベースに導入されるアーティファクトのml-gradleのデフォルトの場所です。カスタムモジュールは、サブディレクトリ./custom-modulesに格納する必要があります。
src/main/ml-schemas
ml-gradle v3.10以前で使用されています。このディレクトリには、外部(ファイナル*)SCHEMASデータベースの設定が含まれています。ml-gradle v3.11以降の場合は、src/main/ml-config/databases/data-hub-final-SCHEMAS/schemasを参照してください。
step-definitions
このディレクトリには、ステップ定義が含まれています。GradleタスクhubCreateStepDefinitionを実行すると、結果として得られるステップ定義ファイルは、該当するステップタイプのサブディレクトリに格納されます。
- ./ingestion
- ./mapping
- ./matching
- ./custom
.tmp
このディレクトリには、一時的なハブアーチファクトが含まれます。
プラグイン(古いバージョンから)