Domanda

Sto iniettando i dati Vertica su Sqop1 su un cluster MapR.Io uso la seguente query:

 sqoop import -m 1 --driver com.vertica.jdbc.Driver --connect "jdbc:vertica://*******:5433/db_name" --password "password" --username "username" --table "schemaName.tableName" --columns "id" --target-dir "/t" --verbose
.

Questa query mi dà un errore che

Caused by: com.vertica.util.ServerException: [Vertica][VJDBC](4856) ERROR: Syntax error at or near "."
.

Ho letto https://GRUPPI.google.com/a/clouDera.org/forum/#!MSG/CDH-URUM/XIBWVC_EOP0/TVHANQFVCV4J Per ottenere maggiori informazioni su questo, ma non era abbastanza utile in quanto hanno fornito risultati su Sqop2. Quando eseguo questa query:

sqoop import -m 1 --driver com.vertica.jdbc.Driver --connect "jdbc:vertica://*******:5433/db_name" --password "password" --username "username" --table "tableName" --columns "id" --target-dir "/t" --verbose
.

Dà un errore: relazione "TableName" non esiste.

Ho aggiunto i vasi Vertica-JDK richiesti anche nella biblioteca Sqop.

Qualsiasi aiuto per quanto riguarda come menzionare il nome dello schema in Sqop per Vertica?

È stato utile?

Soluzione 2

Ho cambiato la dichiarazione per --query e lo schema.Table funziona bene lì.Quindi la dichiarazione è:

sqoop import -m 1 --driver com.vertica.jdbc.Driver --connect "jdbc:vertica://*****:5433/dbName" --password "*****" --username "******" --target-dir "/tmp/cdsdj" --verbose --query 'SELECT t.col1 FROM schema.tableName t where $CONDITIONS'
.

Altri suggerimenti

È possibile specificare il nome dello schema da utilizzare nella stringa di connessione come questa:

- Connetti "JDBC: Vertica: // *******: 5433 / db_name? searchpath= myschema"

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top