Utilizzo di Apache Flink - Amazon EMR

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo di Apache Flink

Apache Hudi è un programma di gestione dei dati di gestione dei dati di gestione dei dati di gestione dei dati di gestione dei dati di gestione dei dati di gestione dei dati di gestione dei dati di gestione dei dati di gestione dei dati di gestione dei dati di gestione dei dati di gestione dei dati e lo sviluppo della gestione dei dati di gestione dei dati e lo sviluppo della gestione dei dati di gestione dei dati e lo sviluppo In combinazione con una gestione efficiente dei dati in Amazon S3, Hudi consente di importare e aggiornare i dati in tempo reale. Hudi conserva i metadati di tutte le operazioni eseguite sul set di dati, in modo che tutte le azioni rimangano atomiche e coerenti.

Utilizzo di Amazon EMR su Amazon EMR su Amazon EMR su Amazon EMR su Amazon EMR su Amazon EMR su Amazon EMR I tutorial seguenti ti aiutano a utilizzare il ripristino dei dati Apache

Segui i passaggi seguenti per imparare a inviare un lavoro in Apache Hudi.

  1. Crea un database AWS Glue denominatodefault.

    aws glue create-database --database-input "{\"Name\":\"default\"}"
  2. Segui l'esempio SQL dell'operatore Flink Kubernetes per creare il file. flink-sql-runner.jar

  3. I tutorial seguenti ti aiutano a utilizzare il file YAML.

    CREATE CATALOG hudi_glue_catalog WITH ( 'type' = 'hudi', 'mode' = 'hms', 'table.external' = 'true', 'default-database' = 'default', 'hive.conf.dir' = '/glue/confs/hive/conf/', 'catalog.path' = 's3://<hudi-example-bucket>/FLINK_HUDI/warehouse/' ); USE CATALOG hudi_glue_catalog; CREATE DATABASE IF NOT EXISTS hudi_db; use hudi_db; CREATE TABLE IF NOT EXISTS hudi-flink-example-table( uuid VARCHAR(20), name VARCHAR(10), age INT, ts TIMESTAMP(3), `partition` VARCHAR(20) ) PARTITIONED BY (`partition`) WITH ( 'connector' = 'hudi', 'path' = 's3://<hudi-example-bucket>/hudi-flink-example-table', 'hive_sync.enable' = 'true', 'hive_sync.mode' = 'glue', 'hive_sync.table' = 'hudi-flink-example-table', 'hive_sync.db' = 'hudi_db', 'compaction.delta_commits' = '1', 'hive_sync.partition_fields' = 'partition', 'hive_sync.partition_extractor_class' = 'org.apache.hudi.hive.MultiPartKeysValueExtractor', 'table.type' = 'COPY_ON_WRITE' ); EXECUTE STATEMENT SET BEGIN INSERT INTO hudi-flink-example-table VALUES ('id1','Alex',23,TIMESTAMP '1970-01-01 00:00:01','par1'), ('id2','Stephen',33,TIMESTAMP '1970-01-01 00:00:02','par1'), ('id3','Julian',53,TIMESTAMP '1970-01-01 00:00:03','par2'), ('id4','Fabian',31,TIMESTAMP '1970-01-01 00:00:04','par2'), ('id5','Sophia',18,TIMESTAMP '1970-01-01 00:00:05','par3'), ('id6','Emma',20,TIMESTAMP '1970-01-01 00:00:06','par3'), ('id7','Bob',44,TIMESTAMP '1970-01-01 00:00:07','par4'), ('id8','Han',56,TIMESTAMP '1970-01-01 00:00:08','par4'); END;
  4. Carica lo script SQL Hudi e il flink-sql-runner.jar file in una posizione S3.

  5. Nel tuo file FlinkDeployments YAML, imposta su. hudi.enabled true

    spec: flinkConfiguration: hudi.enabled: "true"
  6. Crea un file YAML. Questo file di esempio è denominato. hudi-write.yaml

    apiVersion: flink.apache.org/v1beta1 kind: FlinkDeployment metadata: name: hudi-write-example spec: flinkVersion: v1_18 flinkConfiguration: taskmanager.numberOfTaskSlots: "2" hudi.enabled: "true" executionRoleArn: "<JobExecutionRole>" emrReleaseLabel: "emr-7.9.0-flink-latest" jobManager: highAvailabilityEnabled: false replicas: 1 resource: memory: "2048m" cpu: 1 taskManager: resource: memory: "2048m" cpu: 1 job: jarURI: local:///opt/flink/usrlib/flink-sql-runner.jar args: ["/opt/flink/scripts/hudi-write.sql"] parallelism: 1 upgradeMode: stateless podTemplate: spec: initContainers: - name: flink-sql-script-download args: - s3 - cp - s3://<s3_location>/hudi-write.sql - /flink-scripts image: amazon/aws-cli:latest imagePullPolicy: Always resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /flink-scripts name: flink-scripts - name: flink-sql-runner-download args: - s3 - cp - s3://<s3_location>/flink-sql-runner.jar - /flink-artifacts image: amazon/aws-cli:latest imagePullPolicy: Always resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /flink-artifacts name: flink-artifact containers: - name: flink-main-container volumeMounts: - mountPath: /opt/flink/scripts name: flink-scripts - mountPath: /opt/flink/usrlib name: flink-artifact volumes: - emptyDir: {} name: flink-scripts - emptyDir: {} name: flink-artifact
  7. Invia un job Flink Hudi all'operatore Flink Kubernetes.

    kubectl apply -f hudi-write.yaml