透過「 Google Cloud 至 Neo4j」範本,您可以透過 Dataflow 工作將資料集匯入 Neo4j 資料庫,並從 Cloud Storage bucket 中代管的 CSV 檔案取得資料。您也可以在匯入資料的各個步驟中,操控及轉換資料。這個範本可用於首次匯入和增量匯入。
管道相關規定
- 正在執行的 Neo4j 執行個體
- Cloud Storage bucket
- 要匯入的資料集 (CSV 檔案形式)
- 要使用的工作規格檔案
建立職務規格檔案
工作規格檔案包含 JSON 物件,其中含有下列區段:
config:影響匯入作業方式的全局標記。sources:資料來源定義 (關聯式)。targets:資料目標定義 (圖表:節點/關係)。actions:載入前/後動作。
詳情請參閱 Neo4j 說明文件中的「建立工作規格檔案」。
範本參數
必要參數
- jobSpecUri:作業規格檔案的路徑,內含資料來源、Neo4j 目標和動作的 JSON 說明。
選用參數
- neo4jConnectionUri:Neo4j 連線 JSON 檔案的路徑。
- neo4jConnectionSecretId:Neo4j 連線中繼資料的密鑰 ID。您可以將這個值做為
neo4jConnectionUri的替代方案。 - optionsJson:JSON 物件,也稱為執行階段符記。例如
{token1:value1,token2:value2}. Spec can refer to $token1 and $token2.。預設為空白。 - readQuery:覆寫 SQL 查詢。預設為空白。
- inputFilePattern:文字檔案路徑覆寫,例如
gs://your-bucket/path/*.json。預設為空白。 - disabledAlgorithms:以半形逗號分隔要停用的演算法。如果將這個值設為
none,系統就不會停用任何演算法。請謹慎使用這個參數,因為預設停用的演算法可能存在安全漏洞或效能問題。例如:SSLv3, RC4。 - extraFilesToStage:以半形逗號分隔的 Cloud Storage 路徑或 Secret Manager 密鑰,用於在工作站中暫存檔案。這些檔案會儲存在每個工作人員的 /extra_files 目錄中。例如:
gs://<BUCKET_NAME>/file.txt,projects/<PROJECT_ID>/secrets/<SECRET_ID>/versions/<VERSION_ID>。
執行範本
控制台
- 前往 Dataflow 的「Create job from template」(依據範本建立工作) 頁面。 前往「依範本建立工作」
- 在「Job name」(工作名稱) 欄位中,輸入專屬工作名稱。
- 選用:如要使用區域端點,請從下拉式選單中選取值。預設區域為
us-central1。如需可執行 Dataflow 工作的區域清單,請參閱「Dataflow 位置」。
- 從「Dataflow template」(Dataflow 範本) 下拉式選單中,選取「Google Cloud to Neo4j」範本。
- 在提供的參數欄位中輸入參數值。
- 按一下「Run Job」(執行工作)。
gcloud
在殼層或終端機中執行範本:
gcloud dataflow flex-template run JOB_NAME \ --template-file-gcs-location=gs://dataflow-templates/VERSION/flex/Google_Cloud_to_Neo4j \ --project=PROJECT_ID \ --region=REGION_NAME \ --parameters \ jobSpecUri=JOB_SPEC_URI,\ neo4jConnectionUri=NEO4J_CONNECTION_URI,\
更改下列內容:
JOB_NAME:您選擇的不重複工作名稱VERSION:您要使用的範本版本您可以使用下列值:
latest,使用範本的最新版本,該版本位於 bucket 中非依日期命名的上層資料夾:gs://dataflow-templates/latest/- 版本名稱,例如
2023-09-12-00_RC00,可使用特定版本的範本,該範本會以巢狀結構存放在 bucket 中相應的依日期命名上層資料夾中:gs://dataflow-templates/
REGION_NAME:您要部署 Dataflow 工作的區域,例如us-central1JOB_SPEC_URI:工作規格檔案的路徑NEO4J_CONNECTION_URI:Neo4j 連線中繼資料的路徑
API
如要使用 REST API 執行範本,請傳送 HTTP POST 要求。如要進一步瞭解 API 和授權範圍,請參閱 projects.templates.launch。
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch { "launchParameter": { "jobName": "JOB_NAME", "parameters": { "jobSpecUri": "JOB_SPEC_URI", "neo4jConnectionUri": "NEO4J_CONNECTION_URI", }, "containerSpecGcsPath": "gs://dataflow-templates/VERSION/flex/Google_Cloud_to_Neo4j", "environment": { "maxWorkers": "10" } } }
更改下列內容:
PROJECT_ID:您要執行 Dataflow 工作的 Google Cloud 專案 IDJOB_NAME:您選擇的不重複工作名稱VERSION:您要使用的範本版本您可以使用下列值:
latest,使用範本的最新版本,該版本位於 bucket 中非依日期命名的上層資料夾:gs://dataflow-templates/latest/- 版本名稱,例如
2023-09-12-00_RC00,可使用特定版本的範本,該範本會以巢狀結構存放在 bucket 中相應的依日期命名上層資料夾中:gs://dataflow-templates/
LOCATION:您要部署 Dataflow 工作的區域,例如us-central1JOB_SPEC_URI:工作規格檔案的路徑NEO4J_CONNECTION_URI:Neo4j 連線中繼資料的路徑
後續步驟
- 瞭解 Dataflow 範本。
- 請參閱 Google 提供的範本清單。