Pregunta

Estoy inyectando datos de la vertica a SQOOP1 en un clúster MAPR.Yo uso la siguiente consulta:

 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

Esta consulta me da un error que

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

Leí > https://grupos.google.com/a/cloudera.org/forum/#!msg/cdh-user/xibwvc_eop0/tvhanqfvcv4j para obtener más información sobre esto, pero no fue muy útil ya que dieron resultados en SQOOP2.

Cuando ejecuto esta consulta:

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

Da un error: la relación "" tablename "no existe.

También he agregado los frascos requeridos de Vertica-JDK en Sqoop Library.

¿Alguna ayuda con respecto a cómo mencionar el nombre del esquema en SQOOP PARA LA VERTICA?

¿Fue útil?

Solución 2

Cambié la declaración a --query y el esquema. La mesa está funcionando bien allí.Así que la declaración es:

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'

Otros consejos

Puede especificar el nombre del esquema para usar en la cadena de conexión como esta:

- Conectar "JDBC: Vertica: // *******: 5433 / db_name? SetchPath= MySchema"

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top