Este tema describe cómo desarrollar un trabajo de Realtime Compute for Apache Flink que utiliza la API de DataStream para escribir datos en un catálogo de Data Lake Formation (DLF) mediante Paimon REST.
Requisitos previos
Cuenta con un espacio de trabajo completamente administrado para Realtime Compute for Apache Flink. Si aún no lo ha creado, consulte Activate Realtime Compute for Apache Flink.
Se creó un catálogo de DLF. Para obtener más información, consulte Get started with DLF.
Su espacio de trabajo de Flink y el catálogo de DLF residen en la misma región.
-
La VPC de su espacio de trabajo de Flink está incluida en la lista blanca de VPC de DLF. Para obtener más información, consulte API usage guide.
NotaDLF habilita el acceso por VPC de forma predeterminada. Para habilitar el acceso a través de la red pública, consulte Enable and configure public network access.
Preparativos
Descargue el archivo JAR empaquetado de Paimon
paimon-flink-*.jarde la versión 1.1 o posterior desde el sitio web de Apache Paimon.Descargue
paimon-oss-*.jarde la versión 1.1 o posterior desde Apache Paimon Filesystems.
Elija un método de dependencia
El entorno de ejecución de Flink no incluye el conector de Paimon ni el sistema de archivos de OSS. Debe utilizar uno de los siguientes métodos para garantizar que paimon-flink-*.jar y paimon-oss-*.jar estén disponibles durante la ejecución del trabajo.
Método 1: Cargar archivos adicionales en la consola
No es necesario modificar el archivo pom.xml. Cuando cree un trabajo JAR en la consola de desarrollo de Realtime Compute for Apache Flink, cargue los archivos paimon-flink-*.jar y paimon-oss-*.jar que descargó en la sección Preparations como archivos de dependencia adicionales.
Método 2: Empaquetar dependencias en un fat JAR con Maven
Agregue las siguientes dependencias y propiedades al archivo pom.xml de su proyecto.
<properties>
<!-- Paimon version. Specify 1.1 or later. -->
<paimon.version>1.1.0</paimon.version>
<!-- Flink major version. Set based on your VVR version. See the following table. -->
<flink.main.version>1.20</flink.main.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.paimon</groupId>
<artifactId>paimon-flink-${flink.main.version}</artifactId>
<version>${paimon.version}</version>
</dependency>
<dependency>
<groupId>org.apache.paimon</groupId>
<artifactId>paimon-oss</artifactId>
<version>${paimon.version}</version>
</dependency>
</dependencies>
El valor de ${flink.main.version} es el siguiente.
|
Versión de VVR |
|
|
VVR 8.x |
1.17 |
|
VVR 11.x |
1.20 |
Con este método, las dependencias se empaquetan dentro del fat JAR, por lo que no necesita cargar archivos JAR adicionales durante el despliegue.
Paso 1: Escribir el código del trabajo
En el método main() de su trabajo de DataStream, utilice el siguiente código para crear una instancia de catálogo de DLF.
Options options = new Options();
options.set("type", "paimon");
options.set("metastore", "rest");
options.set("uri", "http://<region-id>-vpc.dlf.aliyuncs.com");
options.set("warehouse", "your-catalog-name");
options.set("token.provider", "dlf");
options.set("dlf.access-key-id", "your-access-key-id");
options.set("dlf.access-key-secret", "your-access-key-secret");
Catalog catalog = FlinkCatalogFactory.createPaimonCatalog(options);
Parámetros obligatorios:
|
Parámetro |
Descripción |
Ejemplo |
|
|
Tipo de catálogo que se analiza automáticamente desde el JAR personalizado. No modifique este valor. |
|
|
|
Tipo de metastore para DLF. Establezca este valor en |
|
|
|
Endpoint de VPC del servidor de catálogo REST de DLF. El formato es |
|
|
|
Nombre del catálogo de Paimon. |
|
|
|
Proveedor del token. Establezca este valor en |
|
|
|
Su AccessKey ID para la autenticación. Para obtener más información, consulte View RAM user AccessKey information. |
|
|
|
Su AccessKey secret para la autenticación. |
Una vez creado el catálogo, puede registrarlo y utilizarlo en su trabajo de DataStream para leer y escribir tablas de Paimon.
Paso 2: Empaquetar y desplegar el trabajo
Empaquete su trabajo de DataStream en un archivo JAR.
Cargue el JAR del trabajo en la consola de Realtime Compute for Apache Flink y envíe el trabajo.
Si eligió el método 1 (carga de archivos adicionales en la consola), agregue
paimon-flink-*.jarypaimon-oss-*.jara las dependencias adicionales cuando envíe el trabajo.
Para obtener más información sobre cómo desarrollar y depurar trabajos JAR de Flink, consulte Develop a JAR job.