JDBC to JDBC 模板

使用 Dataproc 无服务器 JDBC 到 JDBC 模板将数据从 JDBC 提取到 JDBC。

此模板支持以下数据库:

  • MySQL
  • PostgreSQL
  • Microsoft SQL Server
  • Oracle

使用模板

使用 gcloud CLI 或 Dataproc API 运行模板。

gcloud

在使用下面的命令数据之前,请先进行以下替换:

  • PROJECT_ID:必填。IAM 设置中列出的 Google Cloud 项目 ID。
  • REGION:必填。 Compute Engine 区域
  • SUBNET:可选。如果未指定子网,系统会选择 default 网络中指定区域中的子网。

    示例projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME

  • TEMPLATE_VERSION:必填。 为最新的模板版本指定 latest,或指定特定版本的日期,例如 2023-03-17_v0.1.0-beta(访问 gs://dataproc-templates-binaries 或运行 gcloud storage ls gs://dataproc-templates-binaries 以列出可用的模板版本)。
  • INPUT_JDBC_CONNECTOR_CLOUD_STORAGE_PATHOUTPUT_JDBC_CONNECTOR_CLOUD_STORAGE_PATH:必需。存储输入和输出 JDBC 连接器 jar 文件的完整 Cloud Storage 路径(包括文件名)。

    注意:如果输入和输出 jar 相同,只需设置 INPUT_JDBC_CONNECTOR_CLOUD_STORAGE_PATH 即可。

    您可以使用以下命令下载 JDBC 连接器,以便上传到 Cloud Storage:

    • MySQL
        wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.30.tar.gz
    • PostgreSQL
        wget https://jdbc.postgresql.org/download/postgresql-42.2.6.jar
    • Microsoft SQL Server
        wget https://repo1.maven.org/maven2/com/microsoft/sqlserver/mssql-jdbc/6.4.0.jre8/mssql-jdbc-6.4.0.jre8.jar
    • Oracle
        wget https://repo1.maven.org/maven2/com/oracle/database/jdbc/ojdbc8/21.7.0.0/ojdbc8-21.7.0.0.jar

  • 以下变量用于构建必需的输入 JDBC 网址:
    • INPUT_JDBC_HOST
    • INPUT_JDBC_PORT
    • INPUT_JDBC_DATABASE,对于 Oracle,则为 INPUT_JDBC_SERVICE
    • INPUT_JDBC_USERNAME
    • INPUT_JDBC_PASSWORD

    使用以下某种特定于连接器的格式构建 INPUT_JDBC_CONNECTION_URL

    • MySQL
      jdbc:mysql://INPUT_JDBC_HOST:INPUT_JDBC_PORT/INPUT_JDBC_DATABASE?user=INPUT_JDBC_USERNAME&password=INPUT_JDBC_PASSWORD
    • PostgreSQL
      jdbc:postgresql://INPUT_JDBC_HOST:INPUT_JDBC_PORT/INPUT_JDBC_DATABASE?user=INPUT_JDBC_USERNAME&password=INPUT_JDBC_PASSWORD
    • Microsoft SQL Server
      jdbc:sqlserver://INPUT_JDBC_HOST:INPUT_JDBC_PORT;databaseName=INPUT_JDBC_DATABASE;user=INPUT_JDBC_USERNAME;password=INPUT_JDBC_PASSWORD
    • Oracle
      jdbc:oracle:thin:@//INPUT_JDBC_HOST:INPUT_JDBC_PORT/INPUT_JDBC_SERVICE?user=INPUT_JDBC_USERNAME&password=INPUT_JDBC_PASSWORD
  • 以下变量用于构建必需的输出 JDBC 网址:
    • OUTPUT_JDBC_HOST
    • OUTPUT_JDBC_PORT
    • OUTPUT_JDBC_DATABASE,对于 Oracle,则为 OUTPUT_JDBC_SERVICE
    • OUTPUT_JDBC_USERNAME
    • OUTPUT_JDBC_PASSWORD

    使用以下某种特定于连接器的格式构建 OUTPUT_JDBC_CONNECTION_URL

    • MySQL
      jdbc:mysql://OUTPUT_JDBC_HOST:OUTPUT_JDBC_PORT/OUTPUT_JDBC_DATABASE?user=OUTPUT_JDBC_USERNAME&password=OUTPUT_JDBC_PASSWORD
    • PostgreSQL
      jdbc:postgresql://OUTPUT_JDBC_HOST:OUTPUT_JDBC_PORT/OUTPUT_JDBC_DATABASE?user=OUTPUT_JDBC_USERNAME&password=OUTPUT_JDBC_PASSWORD
    • Microsoft SQL Server
      jdbc:sqlserver://OUTPUT_JDBC_HOST:OUTPUT_JDBC_PORT;databaseName=OUTPUT_JDBC_DATABASE;user=OUTPUT_JDBC_USERNAME;password=OUTPUT_JDBC_PASSWORD
    • Oracle
      jdbc:oracle:thin:@//OUTPUT_JDBC_HOST:OUTPUT_JDBC_PORT/OUTPUT_JDBC_SERVICE?user=OUTPUT_JDBC_USERNAME&password=OUTPUT_JDBC_PASSWORD
  • INPUT_JDBC_TABLE:必填。输入 JDBC 表名称或针对 JDBC 输入表的 SQL 查询。

    示例(SQL 查询应位于括号内)(select * from TABLE_NAME) as ALIAS_TABLE_NAME

  • OUTPUT_JDBC_TABLE:必填。用于存储输出的 JDBC 表。
  • INPUT_DRIVEROUTPUT_DRIVER:必需。用于连接的 JDBC 输入和输出驱动程序:
    • MySQL
      com.mysql.cj.jdbc.Driver
    • PostgreSQL
      org.postgresql.Driver
    • Microsoft SQL Server
      com.microsoft.sqlserver.jdbc.SQLServerDriver
    • Oracle
      oracle.jdbc.driver.OracleDriver
  • INPUT_PARTITION_COLUMNLOWERBOUNDUPPERBOUNDNUM_PARTITIONS:可选。如果使用,则必须指定以下所有参数:
    • INPUT_PARTITION_COLUMN:JDBC 输入表分区列名称。
    • LOWERBOUND:用于确定分区步长的 JDBC 输入表分区列下限。
    • UPPERBOUND:用于确定分区步长的 JDBC 输入表分区列上限。
    • NUM_PARTITIONS:可用于表读写并行处理的最大分区数。如果指定,此值将用于 JDBC 输入和输出连接。
  • FETCHSIZE:可选。每次往返要提取的行数。
  • BATCH_SIZE:可选。每次往返要插入的记录数。默认值:1000
  • MODE:可选。JDBC 输出的写入模式。 选项:AppendOverwriteIgnoreErrorIfExists
  • TABLE_PROPERTIES:可选。借助此选项,您可以在创建输出表时设置特定于数据库的表和分区选项。
  • PRIMARY_KEY:可选。输出表的主键列。所提及的列不得包含重复值,否则系统会抛出错误。
  • JDBC_SESSION_INIT:可选。用于读取 Java 模板的会话初始化语句。
  • LOG_LEVEL:可选。日志记录级别。可以是 ALLDEBUGERRORFATALINFOOFFTRACEWARN 中的一个。默认值:INFO
  • TEMP_VIEWTEMP_QUERY:可选。 您可以在将数据加载到 Cloud Storage 时使用这两个可选参数来应用 Spark SQL 转换。TEMP_VIEW 必须与查询中使用的表名称相同,TEMP_QUERY 是查询语句。
  • SERVICE_ACCOUNT:可选。如果未提供,则系统会使用默认 Compute Engine 服务账号
  • PROPERTYPROPERTY_VALUE:可选。以英文逗号分隔的 Spark 属性=value 对列表。
  • LABELLABEL_VALUE:可选。以英文逗号分隔的 label=value 对列表。
  • KMS_KEY:可选。要用于加密的 Cloud Key Management Service 密钥。如果未指定密钥,系统会使用 Google 拥有且 Google 管理的密钥对数据进行静态加密

    示例projects/PROJECT_ID/regions/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME

执行以下命令:

Linux、macOS 或 Cloud Shell

gcloud dataproc batches submit spark \
    --class=com.google.cloud.dataproc.templates.main.DataProcTemplate \
    --project="PROJECT_ID" \
    --region="REGION" \
    --version="1.2" \
    --jars="gs://dataproc-templates-binaries/TEMPLATE_VERSION/java/dataproc-templates.jar,INPUT_JDBC_CONNECTOR_CLOUD_STORAGE_PATH,OUTPUT_JDBC_CONNECTOR_CLOUD_STORAGE_PATH" \
    --subnet="SUBNET" \
    --kms-key="KMS_KEY" \
    --service-account="SERVICE_ACCOUNT" \
    --properties="PROPERTY=PROPERTY_VALUE" \
    --labels="LABEL=LABEL_VALUE" \
    -- --template JDBCTOJDBC \
    --templateProperty project.id="PROJECT_ID" \
    --templateProperty log.level="LOG_LEVEL" \
    --templateProperty jdbctojdbc.input.url="INPUT_JDBC_CONNECTION_URL" \
    --templateProperty jdbctojdbc.input.driver="INPUT_DRIVER" \
    --templateProperty jdbctojdbc.input.table="INPUT_JDBC_TABLE" \
    --templateProperty jdbctojdbc.output.url="OUTPUT_JDBC_CONNECTION_URL" \
    --templateProperty jdbctojdbc.output.driver="OUTPUT_DRIVER" \
    --templateProperty jdbctojdbc.output.table="OUTPUT_JDBC_TABLE" \
    --templateProperty jdbctojdbc.input.fetchsize="FETCHSIZE" \
    --templateProperty jdbctojdbc.input.partitioncolumn="INPUT_PARTITION_COLUMN" \
    --templateProperty jdbctojdbc.input.lowerbound="LOWERBOUND" \
    --templateProperty jdbctojdbc.input.upperbound="UPPERBOUND" \
    --templateProperty jdbctojdbc.numpartitions="NUM_PARTITIONS" \
    --templateProperty jdbctojdbc.output.mode="MODE" \
    --templateProperty jdbctojdbc.output.batch.size="BATCH_SIZE" \
    --templateProperty jdbctojdbc.output.primary.key="PRIMARY_KEY" \
    --templateProperty jdbctojdbc.output.create.table.option="TABLE_PROPERTIES" \
    --templateProperty jdbctojdbc.sessioninitstatement="JDBC_SESSION_INIT" \
    --templateProperty jdbctojdbc.temp.view.name="TEMP_VIEW" \
    --templateProperty jdbctojdbc.sql.query="TEMP_QUERY"

Windows (PowerShell)

gcloud dataproc batches submit spark `
    --class=com.google.cloud.dataproc.templates.main.DataProcTemplate `
    --project="PROJECT_ID" `
    --region="REGION" `
    --version="1.2" `
    --jars="gs://dataproc-templates-binaries/TEMPLATE_VERSION/java/dataproc-templates.jar,INPUT_JDBC_CONNECTOR_CLOUD_STORAGE_PATH,OUTPUT_JDBC_CONNECTOR_CLOUD_STORAGE_PATH" `
    --subnet="SUBNET" `
    --kms-key="KMS_KEY" `
    --service-account="SERVICE_ACCOUNT" `
    --properties="PROPERTY=PROPERTY_VALUE" `
    --labels="LABEL=LABEL_VALUE" `
    -- --template JDBCTOJDBC `
    --templateProperty project.id="PROJECT_ID" `
    --templateProperty log.level="LOG_LEVEL" `
    --templateProperty jdbctojdbc.input.url="INPUT_JDBC_CONNECTION_URL" `
    --templateProperty jdbctojdbc.input.driver="INPUT_DRIVER" `
    --templateProperty jdbctojdbc.input.table="INPUT_JDBC_TABLE" `
    --templateProperty jdbctojdbc.output.url="OUTPUT_JDBC_CONNECTION_URL" `
    --templateProperty jdbctojdbc.output.driver="OUTPUT_DRIVER" `
    --templateProperty jdbctojdbc.output.table="OUTPUT_JDBC_TABLE" `
    --templateProperty jdbctojdbc.input.fetchsize="FETCHSIZE" `
    --templateProperty jdbctojdbc.input.partitioncolumn="INPUT_PARTITION_COLUMN" `
    --templateProperty jdbctojdbc.input.lowerbound="LOWERBOUND" `
    --templateProperty jdbctojdbc.input.upperbound="UPPERBOUND" `
    --templateProperty jdbctojdbc.numpartitions="NUM_PARTITIONS" `
    --templateProperty jdbctojdbc.output.mode="MODE" `
    --templateProperty jdbctojdbc.output.batch.size="BATCH_SIZE" `
    --templateProperty jdbctojdbc.output.primary.key="PRIMARY_KEY" `
    --templateProperty jdbctojdbc.output.create.table.option="TABLE_PROPERTIES" `
    --templateProperty jdbctojdbc.sessioninitstatement="JDBC_SESSION_INIT" `
    --templateProperty jdbctojdbc.temp.view.name="TEMP_VIEW" `
    --templateProperty jdbctojdbc.sql.query="TEMP_QUERY"

Windows (cmd.exe)

gcloud dataproc batches submit spark ^
    --class=com.google.cloud.dataproc.templates.main.DataProcTemplate ^
    --project="PROJECT_ID" ^
    --region="REGION" ^
    --version="1.2" ^
    --jars="gs://dataproc-templates-binaries/TEMPLATE_VERSION/java/dataproc-templates.jar,INPUT_JDBC_CONNECTOR_CLOUD_STORAGE_PATH,OUTPUT_JDBC_CONNECTOR_CLOUD_STORAGE_PATH" ^
    --subnet="SUBNET" ^
    --kms-key="KMS_KEY" ^
    --service-account="SERVICE_ACCOUNT" ^
    --properties="PROPERTY=PROPERTY_VALUE" ^
    --labels="LABEL=LABEL_VALUE" ^
    -- --template JDBCTOJDBC ^
    --templateProperty project.id="PROJECT_ID" ^
    --templateProperty log.level="LOG_LEVEL" ^
    --templateProperty jdbctojdbc.input.url="INPUT_JDBC_CONNECTION_URL" ^
    --templateProperty jdbctojdbc.input.driver="INPUT_DRIVER" ^
    --templateProperty jdbctojdbc.input.table="INPUT_JDBC_TABLE" ^
    --templateProperty jdbctojdbc.output.url="OUTPUT_JDBC_CONNECTION_URL" ^
    --templateProperty jdbctojdbc.output.driver="OUTPUT_DRIVER" ^
    --templateProperty jdbctojdbc.output.table="OUTPUT_JDBC_TABLE" ^
    --templateProperty jdbctojdbc.input.fetchsize="FETCHSIZE" ^
    --templateProperty jdbctojdbc.input.partitioncolumn="INPUT_PARTITION_COLUMN" ^
    --templateProperty jdbctojdbc.input.lowerbound="LOWERBOUND" ^
    --templateProperty jdbctojdbc.input.upperbound="UPPERBOUND" ^
    --templateProperty jdbctojdbc.numpartitions="NUM_PARTITIONS" ^
    --templateProperty jdbctojdbc.output.mode="MODE" ^
    --templateProperty jdbctojdbc.output.batch.size="BATCH_SIZE" ^
    --templateProperty jdbctojdbc.output.primary.key="PRIMARY_KEY" ^
    --templateProperty jdbctojdbc.output.create.table.option="TABLE_PROPERTIES" ^
    --templateProperty jdbctojdbc.sessioninitstatement="JDBC_SESSION_INIT" ^
    --templateProperty jdbctojdbc.temp.view.name="TEMP_VIEW" ^
    --templateProperty jdbctojdbc.sql.query="TEMP_QUERY"

REST

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID:必填。IAM 设置中列出的 Google Cloud 项目 ID。
  • REGION:必填。 Compute Engine 区域
  • SUBNET:可选。如果未指定子网,系统会选择 default 网络中指定区域中的子网。

    示例projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME

  • TEMPLATE_VERSION:必填。 为最新的模板版本指定 latest,或指定特定版本的日期,例如 2023-03-17_v0.1.0-beta(访问 gs://dataproc-templates-binaries 或运行 gcloud storage ls gs://dataproc-templates-binaries 以列出可用的模板版本)。
  • INPUT_JDBC_CONNECTOR_CLOUD_STORAGE_PATHOUTPUT_JDBC_CONNECTOR_CLOUD_STORAGE_PATH:必需。存储输入和输出 JDBC 连接器 jar 文件的完整 Cloud Storage 路径(包括文件名)。

    注意:如果输入和输出 jar 相同,只需设置 INPUT_JDBC_CONNECTOR_CLOUD_STORAGE_PATH 即可。

    您可以使用以下命令下载 JDBC 连接器,以便上传到 Cloud Storage:

    • MySQL
        wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.30.tar.gz
    • PostgreSQL
        wget https://jdbc.postgresql.org/download/postgresql-42.2.6.jar
    • Microsoft SQL Server
        wget https://repo1.maven.org/maven2/com/microsoft/sqlserver/mssql-jdbc/6.4.0.jre8/mssql-jdbc-6.4.0.jre8.jar
    • Oracle
        wget https://repo1.maven.org/maven2/com/oracle/database/jdbc/ojdbc8/21.7.0.0/ojdbc8-21.7.0.0.jar

  • 以下变量用于构建必需的输入 JDBC 网址:
    • INPUT_JDBC_HOST
    • INPUT_JDBC_PORT
    • INPUT_JDBC_DATABASE,对于 Oracle,则为 INPUT_JDBC_SERVICE
    • INPUT_JDBC_USERNAME
    • INPUT_JDBC_PASSWORD

    使用以下某种特定于连接器的格式构建 INPUT_JDBC_CONNECTION_URL

    • MySQL
      jdbc:mysql://INPUT_JDBC_HOST:INPUT_JDBC_PORT/INPUT_JDBC_DATABASE?user=INPUT_JDBC_USERNAME&password=INPUT_JDBC_PASSWORD
    • PostgreSQL
      jdbc:postgresql://INPUT_JDBC_HOST:INPUT_JDBC_PORT/INPUT_JDBC_DATABASE?user=INPUT_JDBC_USERNAME&password=INPUT_JDBC_PASSWORD
    • Microsoft SQL Server
      jdbc:sqlserver://INPUT_JDBC_HOST:INPUT_JDBC_PORT;databaseName=INPUT_JDBC_DATABASE;user=INPUT_JDBC_USERNAME;password=INPUT_JDBC_PASSWORD
    • Oracle
      jdbc:oracle:thin:@//INPUT_JDBC_HOST:INPUT_JDBC_PORT/INPUT_JDBC_SERVICE?user=INPUT_JDBC_USERNAME&password=INPUT_JDBC_PASSWORD
  • 以下变量用于构建必需的输出 JDBC 网址:
    • OUTPUT_JDBC_HOST
    • OUTPUT_JDBC_PORT
    • OUTPUT_JDBC_DATABASE,对于 Oracle,则为 OUTPUT_JDBC_SERVICE
    • OUTPUT_JDBC_USERNAME
    • OUTPUT_JDBC_PASSWORD

    使用以下某种特定于连接器的格式构建 OUTPUT_JDBC_CONNECTION_URL

    • MySQL
      jdbc:mysql://OUTPUT_JDBC_HOST:OUTPUT_JDBC_PORT/OUTPUT_JDBC_DATABASE?user=OUTPUT_JDBC_USERNAME&password=OUTPUT_JDBC_PASSWORD
    • PostgreSQL
      jdbc:postgresql://OUTPUT_JDBC_HOST:OUTPUT_JDBC_PORT/OUTPUT_JDBC_DATABASE?user=OUTPUT_JDBC_USERNAME&password=OUTPUT_JDBC_PASSWORD
    • Microsoft SQL Server
      jdbc:sqlserver://OUTPUT_JDBC_HOST:OUTPUT_JDBC_PORT;databaseName=OUTPUT_JDBC_DATABASE;user=OUTPUT_JDBC_USERNAME;password=OUTPUT_JDBC_PASSWORD
    • Oracle
      jdbc:oracle:thin:@//OUTPUT_JDBC_HOST:OUTPUT_JDBC_PORT/OUTPUT_JDBC_SERVICE?user=OUTPUT_JDBC_USERNAME&password=OUTPUT_JDBC_PASSWORD
  • INPUT_JDBC_TABLE:必填。输入 JDBC 表名称或针对 JDBC 输入表的 SQL 查询。

    示例(SQL 查询应位于括号内)(select * from TABLE_NAME) as ALIAS_TABLE_NAME

  • OUTPUT_JDBC_TABLE:必填。用于存储输出的 JDBC 表。
  • INPUT_DRIVEROUTPUT_DRIVER:必需。用于连接的 JDBC 输入和输出驱动程序:
    • MySQL
      com.mysql.cj.jdbc.Driver
    • PostgreSQL
      org.postgresql.Driver
    • Microsoft SQL Server
      com.microsoft.sqlserver.jdbc.SQLServerDriver
    • Oracle
      oracle.jdbc.driver.OracleDriver
  • INPUT_PARTITION_COLUMNLOWERBOUNDUPPERBOUNDNUM_PARTITIONS:可选。如果使用,则必须指定以下所有参数:
    • INPUT_PARTITION_COLUMN:JDBC 输入表分区列名称。
    • LOWERBOUND:用于确定分区步长的 JDBC 输入表分区列下限。
    • UPPERBOUND:用于确定分区步长的 JDBC 输入表分区列上限。
    • NUM_PARTITIONS:可用于表读写并行处理的最大分区数。如果指定,此值将用于 JDBC 输入和输出连接。
  • FETCHSIZE:可选。每次往返要提取的行数。
  • BATCH_SIZE:可选。每次往返要插入的记录数。默认值:1000
  • MODE:可选。JDBC 输出的写入模式。 选项:AppendOverwriteIgnoreErrorIfExists
  • TABLE_PROPERTIES:可选。借助此选项,您可以在创建输出表时设置特定于数据库的表和分区选项。
  • PRIMARY_KEY:可选。输出表的主键列。所提及的列不得包含重复值,否则系统会抛出错误。
  • JDBC_SESSION_INIT:可选。用于读取 Java 模板的会话初始化语句。
  • LOG_LEVEL:可选。日志记录级别。可以是 ALLDEBUGERRORFATALINFOOFFTRACEWARN 中的一个。默认值:INFO
  • TEMP_VIEWTEMP_QUERY:可选。 您可以在将数据加载到 Cloud Storage 时使用这两个可选参数来应用 Spark SQL 转换。TEMP_VIEW 必须与查询中使用的表名称相同,TEMP_QUERY 是查询语句。
  • SERVICE_ACCOUNT:可选。如果未提供,则系统会使用默认 Compute Engine 服务账号
  • PROPERTYPROPERTY_VALUE:可选。以英文逗号分隔的 Spark 属性=value 对列表。
  • LABELLABEL_VALUE:可选。以英文逗号分隔的 label=value 对列表。
  • KMS_KEY:可选。要用于加密的 Cloud Key Management Service 密钥。如果未指定密钥,系统会使用 Google 拥有且 Google 管理的密钥对数据进行静态加密

    示例projects/PROJECT_ID/regions/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME

HTTP 方法和网址:

POST https://dataproc.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/batches

请求 JSON 正文:


{
  "environmentConfig": {
    "executionConfig": {
      "subnetworkUri": "SUBNET",
      "kmsKey": "KMS_KEY",
      "serviceAccount": "SERVICE_ACCOUNT"
    }
  },
  "labels": {
    "LABEL": "LABEL_VALUE"
  },
  "runtimeConfig": {
    "version": "1.2",
    "properties": {
      "PROPERTY": "PROPERTY_VALUE"
    }
  },
  "sparkBatch": {
    "mainClass": "com.google.cloud.dataproc.templates.main.DataProcTemplate",
    "args": [
      "--template","JDBCTOJDBC",
      "--templateProperty","log.level=LOG_LEVEL",
      "--templateProperty","project.id=PROJECT_ID",
      "--templateProperty","jdbctojdbc.input.url=INPUT_JDBC_CONNECTION_URL",
      "--templateProperty","jdbctojdbc.input.driver=INPUT_DRIVER",
      "--templateProperty","jdbctojdbc.input.table=INPUT_TABLE",
      "--templateProperty","jdbctojdbc.output.url=OUTPUT_JDBC_CONNECTION_URL",
      "--templateProperty","jdbctojdbc.output.driver=OUTPUT_DRIVER",
      "--templateProperty","jdbctojdbc.output.table=OUTPUT_TABLE",
      "--templateProperty","jdbctojdbc.input.fetchsize=FETCHSIZE",
      "--templateProperty","jdbctojdbc.input.partitioncolumn=INPUT_PARTITION_COLUMN",
      "--templateProperty","jdbctojdbc.input.lowerbound=LOWERBOUND",
      "--templateProperty","jdbctojdbc.input.upperbound=UPPERBOUND",
      "--templateProperty","jdbctojdbc.numpartitions=NUM_PARTITIONS",
      "--templateProperty","jdbctojdbc.output.mode=MODE",
      "--templateProperty","jdbctojdbc.output.batch.size=BATCH_SIZE",
      "--templateProperty","jdbctojdbc.output.primary.key=PRIMARY_KEY",
      "--templateProperty","jdbctojdbc.output.create.table.option=TABLE_PROPERTIES",
      "--templateProperty","jdbctojdbc.sessioninitstatement=JDBC_SESSION_INIT",
      "--templateProperty","jdbctojdbc.temp.view.name=TEMP_VIEW",
      "--templateProperty","jdbctojdbc.sql.query=TEMP_QUERY"
    ],
    "jarFileUris": [
      "gs://dataproc-templates-binaries/TEMPLATE_VERSION/java/dataproc-templates.jar",
      "INPUT_JDBC_CONNECTOR_CLOUD_STORAGE_PATH",
      "OUTPUT_JDBC_CONNECTOR_CLOUD_STORAGE_PATH"
    ]
  }
}

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:


{
  "name": "projects/PROJECT_ID/regions/REGION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.dataproc.v1.BatchOperationMetadata",
    "batch": "projects/PROJECT_ID/locations/REGION/batches/BATCH_ID",
    "batchUuid": "de8af8d4-3599-4a7c-915c-798201ed1583",
    "createTime": "2023-02-24T03:31:03.440329Z",
    "operationType": "BATCH",
    "description": "Batch"
  }
}