Come posso risolvere l'errore "Unknown dataset URI pattern: dataset" (Modello URI set di dati sconosciuto: set di dati) quando uso Sqoop in Amazon EMR per esportare dati di Amazon RDS in Amazon S3 in formato Parquet?

2 minuti di lettura
0

Desidero risolvere l'errore "Unknown dataset URI pattern: dataset" (Modello URI set di dati sconosciuto: set di dati) quando uso Sqoop in Amazon EMR per esportare i dati di Amazon Relational Database Service (Amazon RDS) in Amazon Simple Storage Service (Amazon S3) in formato Parquet.

Risoluzione

L'errore Unknown dataset URI pattern: dataset (Modello URI set di dati sconosciuto: set di dati) riguarda Sqoop versione 1.4.7. Per risolvere l'errore, completa i passaggi seguenti per scaricare e installare kite-data-s3-1.1.0.jar:

  1. Per connetterti al nodo principale di Amazon EMR, usa SSH.

  2. Per scaricare kite-data-s3-1.1.0.jar, usa wget:

    [hadoop@example-ip-address]$ wget https://repo1.maven.org/maven2/org/kitesdk/kite-data-s3/1.1.0/kite-data-s3-1.1.0.jar

    Nota: sostituisci example-ip-address con il tuo indirizzo IP.

  3. Verifica che il file scaricato abbia le dimensioni corrette (1,7 MB):

    [hadoop@example-ip-address]$ du -h kite-data-s3-1.1.0.jar
    1.7M     kite-data-s3-1.1.0.jar

    Nota: sostituisci example-ip-address con il tuo indirizzo IP.

  4. Sposta il file scaricato nella directory della libreria Sqoop /usr/lib/sqoop/lib/:

    sudo cp kite-data-s3-1.1.0.jar /usr/lib/sqoop/lib/
  5. Concedi l'autorizzazione necessaria per il file scaricato:

    sudo chmod 755 /usr/lib/sqoop/lib/kite-data-s3-1.1.0.jar
  6. Per importare il file scaricato, usa il connettore s3n.

    Esempio:

    sqoop import --connect jdbc:mysql://mysql.cdfqbesrukqe.eu-west-1.rds.amazonaws.com:3306/dev --username admin -P --table hist_root --target-dir example-s3n://example-bucket/sqoop_parquet/demo --as-parquetfile -m 2 --split-by identifiers -- --schema onwatch

    Nota: se usi il connettore s3, riceverai l'errore Unknown dataset URI pattern: dataset (Modello URI set di dati sconosciuto: set di dati). Il valore di --target-dir deve essere nel formato di un percorso con almeno 3 livelli (s3n://example-bucket/example-namespace/example-dataset>)

Per ulteriori informazioni, consulta Dataset, View, and Repository URIs sul sito web di Kite SDK.