<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>question Re: sqoop unable to import data from two tables in Archives of Support Questions (Read Only)</title>
    <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/sqoop-unable-to-import-data-from-two-tables/m-p/47468#M46207</link>
    <description>I will certainly try to write the query in single line as per you suggestion , but i am wondering why do we need a placeholder $CONDITIONS When we are forcing the sqoop to perform only one job by using -num-mappers 1 ?</description>
    <pubDate>Wed, 16 Nov 2016 16:20:35 GMT</pubDate>
    <dc:creator>csguna</dc:creator>
    <dc:date>2016-11-16T16:20:35Z</dc:date>
    <item>
      <title>sqoop unable to import data from two tables</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/sqoop-unable-to-import-data-from-two-tables/m-p/47374#M46205</link>
      <description>&lt;P&gt;I am facing the sql error and sqoop error in two senarios .&amp;nbsp;&lt;/P&gt;&lt;P&gt;I performing this data for testing.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;DB - mysql&lt;/P&gt;&lt;P&gt;Sqoop version :&amp;nbsp;Sqoop version: 1.4.4-cdh5.0.0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My table citi&lt;/P&gt;&lt;PRE&gt;+------+------------+-----------+
| id   | country_id | city      |
+------+------------+-----------+
|   10 |        101 | omaha     |
|   11 |        102 | coloumbus |
|   12 |        103 | buff      |
+------+------------+-----------+&lt;/PRE&gt;&lt;P&gt;table country&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;+------------+---------+
| country_id | country |
+------------+---------+
|        101 | us      |
|        102 | in      |
|        103 | nz      |
+------------+---------+&lt;/PRE&gt;&lt;P&gt;below is my sqoop import&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;sqoop import \
&amp;gt; --connect jdbc:mysql://localhost/ms4 \
&amp;gt; --username xxx \
&amp;gt; --password yyy \
&amp;gt; --query 'SELECT citi.id, \
&amp;gt; country.name, \
&amp;gt; citi.city \
&amp;gt; FROM citi \
&amp;gt; JOIN country USING(country_id) \
&amp;gt; --num-mappers 1 \
&amp;gt; --target-dir cities&lt;/PRE&gt;&lt;P&gt;below is the error i am seeing . I dont find anything wrong with my --query to my knoweldge .&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;16/11/15 05:27:02 INFO manager.SqlManager: Executing SQL statement: SELECT citi.id, \
country.name, \
citi.city \
FROM citi \
JOIN country USING(country_id) \
WHERE  (1 = 0) 
16/11/15 05:27:02 ERROR manager.SqlManager: Error executing statement: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\
country.name, \
citi.city \
FROM citi \
JOIN country USING(country_id) \
WHERE' at line 1
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\
country.name, \
citi.city \
FROM citi \
JOIN country USING(country_id) \
WHERE' at line 1
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
	at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
	at com.mysql.jdbc.Util.getInstance(Util.java:386)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3597)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3529)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1990)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2151)
	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2625)
	at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2119)
	at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2283)
	at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:699)
	at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:708)
	at org.apache.sqoop.manager.SqlManager.getColumnTypesForRawQuery(SqlManager.java:243)
	at org.apache.sqoop.manager.SqlManager.getColumnTypesForQuery(SqlManager.java:233)
	at org.apache.sqoop.manager.ConnManager.getColumnTypes(ConnManager.java:356)
	at org.apache.sqoop.orm.ClassWriter.getColumnTypes(ClassWriter.java:1298)
	at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1110)
	at org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:96)
	at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:396)
	at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:506)
	at org.apache.sqoop.Sqoop.run(Sqoop.java:147)
	at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
	at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:183)
	at org.apache.sqoop.Sqoop.runTool(Sqoop.java:222)
	at org.apache.sqoop.Sqoop.runTool(Sqoop.java:231)
	at org.apache.sqoop.Sqoop.main(Sqoop.java:240)
16/11/15 05:27:02 ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: No columns to generate for ClassWriter
	at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1116)
	at org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:96)
	at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:396)
	at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:506)
	at org.apache.sqoop.Sqoop.run(Sqoop.java:147)
	at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
	at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:183)
	at org.apache.sqoop.Sqoop.runTool(Sqoop.java:222)
	at org.apache.sqoop.Sqoop.runTool(Sqoop.java:231)
	at org.apache.sqoop.Sqoop.main(Sqoop.java:240)&lt;/PRE&gt;&lt;P&gt;As a work around or trying to see if the WHERE $CONDITIONS is problem or not&amp;nbsp;&lt;/P&gt;&lt;P&gt;i skip WHERE $CONDITIONS by forcing the sqoop to use one mapper&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;sqoop import \
&amp;gt; --connect jdbc:mysql://localhost/movielens \
&amp;gt; --username training \
&amp;gt; --password training \
&amp;gt; --query 'SELECT citi.id, \
&amp;gt; country.name, \
&amp;gt; citi.city \
&amp;gt; FROM citi \
&amp;gt; JOIN country USING(country_id)' \
&amp;gt; --num-mappers 1 \
&amp;gt; --target-dir cities&lt;/PRE&gt;&lt;P&gt;I pretty sure we can force sqoop to avoid parallelism ,but it is complaining or throwing error.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: Query [SELECT citi.id, \
country.name, \
citi.city \
FROM citi \
JOIN country USING(country_id)] must contain '$CONDITIONS' in WHERE clause.
	at org.apache.sqoop.manager.ConnManager.getColumnTypes(ConnManager.java:352)
	at org.apache.sqoop.orm.ClassWriter.getColumnTypes(ClassWriter.java:1298)
	at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1110)
	at org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:96)
	at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:396)
	at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:506)
	at org.apache.sqoop.Sqoop.run(Sqoop.java:147)
	at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
	at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:183)
	at org.apache.sqoop.Sqoop.runTool(Sqoop.java:222)
	at org.apache.sqoop.Sqoop.runTool(Sqoop.java:231&lt;/PRE&gt;&lt;P&gt;I would greatlt appreciate for any kind of information or solution.&lt;/P&gt;&lt;P&gt;Thanks&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 16 Sep 2022 10:47:32 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/sqoop-unable-to-import-data-from-two-tables/m-p/47374#M46205</guid>
      <dc:creator>csguna</dc:creator>
      <dc:date>2022-09-16T10:47:32Z</dc:date>
    </item>
    <item>
      <title>Re: sqoop unable to import data from two tables</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/sqoop-unable-to-import-data-from-two-tables/m-p/47458#M46206</link>
      <description>&lt;P&gt;You can break your sqoop steps using \ but you should not break your query. Also 'where $CONDITIONS' is mandatory and $CONDITIONS should be in upper case. Pls do the below correction and try again&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;Currection version (only few steps covered):
&amp;gt; --username xxx \
&amp;gt; --password yyy \
&amp;gt; --query 'SELECT citi.id, \
&amp;gt; country.name, \
&amp;gt; citi.city \
&amp;gt; FROM citi \
&amp;gt; JOIN country USING(country_id) \
&amp;gt; --num-mappers 1 \

Updated version (only few steps covered):
&amp;gt; --username xxx \
&amp;gt; --password yyy \
&amp;gt; --query 'SELECT citi.id, country.name, citi.city FROM citi JOIN country USING(country_id) where $CONDITIONS'  \
&amp;gt; --num-mappers 1 \&lt;/PRE&gt;</description>
      <pubDate>Wed, 16 Nov 2016 15:34:35 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/sqoop-unable-to-import-data-from-two-tables/m-p/47458#M46206</guid>
      <dc:creator>saranvisa</dc:creator>
      <dc:date>2016-11-16T15:34:35Z</dc:date>
    </item>
    <item>
      <title>Re: sqoop unable to import data from two tables</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/sqoop-unable-to-import-data-from-two-tables/m-p/47468#M46207</link>
      <description>I will certainly try to write the query in single line as per you suggestion , but i am wondering why do we need a placeholder $CONDITIONS When we are forcing the sqoop to perform only one job by using -num-mappers 1 ?</description>
      <pubDate>Wed, 16 Nov 2016 16:20:35 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/sqoop-unable-to-import-data-from-two-tables/m-p/47468#M46207</guid>
      <dc:creator>csguna</dc:creator>
      <dc:date>2016-11-16T16:20:35Z</dc:date>
    </item>
    <item>
      <title>Re: sqoop unable to import data from two tables</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/sqoop-unable-to-import-data-from-two-tables/m-p/47471#M46208</link>
      <description>&lt;P&gt;$CONDITIONS to be appended with query. it is sqoop syntax and not related to -num-mappers.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;Ex: select col1, col2 from table1 where $CONDITIONS&lt;/PRE&gt;&lt;P&gt;it seems you are also missing --split-by columns... it is also recommanded/mandatory for import&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Kumar&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 16 Nov 2016 16:33:36 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/sqoop-unable-to-import-data-from-two-tables/m-p/47471#M46208</guid>
      <dc:creator>saranvisa</dc:creator>
      <dc:date>2016-11-16T16:33:36Z</dc:date>
    </item>
    <item>
      <title>Re: sqoop unable to import data from two tables</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/sqoop-unable-to-import-data-from-two-tables/m-p/47485#M46209</link>
      <description>It worked . Thanks mate</description>
      <pubDate>Thu, 17 Nov 2016 03:07:51 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/sqoop-unable-to-import-data-from-two-tables/m-p/47485#M46209</guid>
      <dc:creator>csguna</dc:creator>
      <dc:date>2016-11-17T03:07:51Z</dc:date>
    </item>
    <item>
      <title>Re: sqoop unable to import data from two tables</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/sqoop-unable-to-import-data-from-two-tables/m-p/67304#M46210</link>
      <description>&lt;P&gt;[cloudera@quickstart ~]$ ^C&lt;BR /&gt;[cloudera@quickstart ~]$ sqoop import --connect jdbc:mysql://192.168.186.128:3306/myfirsttutorial --username cloudera --password cloudera --table mytable --target-dir=/user/cloudera/myfirst-m&lt;BR /&gt;Warning: /usr/lib/sqoop/../accumulo does not exist! Accumulo imports will fail.&lt;BR /&gt;Please set $ACCUMULO_HOME to the root of your Accumulo installation.&lt;BR /&gt;18/05/15 10:47:00 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6-cdh5.13.0&lt;BR /&gt;18/05/15 10:47:00 WARN tool.BaseSqoopTool: Setting your password on the command-line is insecure. Consider using -P instead.&lt;BR /&gt;18/05/15 10:47:00 INFO manager.MySQLManager: Preparing to use a MySQL streaming resultset.&lt;BR /&gt;18/05/15 10:47:00 INFO tool.CodeGenTool: Beginning code generation&lt;BR /&gt;18/05/15 10:47:01 ERROR manager.SqlManager: Error executing statement: java.sql.SQLException: Access denied for user 'cloudera'@'quickstart.cloudera' (using password: YES)&lt;BR /&gt;java.sql.SQLException: Access denied for user 'cloudera'@'quickstart.cloudera' (using password: YES)&lt;BR /&gt;&amp;nbsp;at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:996)&lt;BR /&gt;&amp;nbsp;at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887)&lt;BR /&gt;&amp;nbsp;at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823)&lt;BR /&gt;&amp;nbsp;at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:870)&lt;BR /&gt;&amp;nbsp;at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:4332)&lt;BR /&gt;&amp;nbsp;at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1258)&lt;BR /&gt;&amp;nbsp;at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2234)&lt;BR /&gt;&amp;nbsp;at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2265)&lt;BR /&gt;&amp;nbsp;at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2064)&lt;BR /&gt;&amp;nbsp;at com.mysql.jdbc.ConnectionImpl.&amp;lt;init&amp;gt;(ConnectionImpl.java:790)&lt;BR /&gt;&amp;nbsp;at com.mysql.jdbc.JDBC4Connection.&amp;lt;init&amp;gt;(JDBC4Connection.java:44)&lt;BR /&gt;&amp;nbsp;at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)&lt;BR /&gt;&amp;nbsp;at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)&lt;BR /&gt;&amp;nbsp;at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)&lt;BR /&gt;&amp;nbsp;at java.lang.reflect.Constructor.newInstance(Constructor.java:526)&lt;BR /&gt;&amp;nbsp;at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)&lt;BR /&gt;&amp;nbsp;at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:395)&lt;BR /&gt;&amp;nbsp;at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:325)&lt;BR /&gt;&amp;nbsp;at java.sql.DriverManager.getConnection(DriverManager.java:571)&lt;BR /&gt;&amp;nbsp;at java.sql.DriverManager.getConnection(DriverManager.java:215)&lt;BR /&gt;&amp;nbsp;at org.apache.sqoop.manager.SqlManager.makeConnection(SqlManager.java:904)&lt;BR /&gt;&amp;nbsp;at org.apache.sqoop.manager.GenericJdbcManager.getConnection(GenericJdbcManager.java:52)&lt;BR /&gt;&amp;nbsp;at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:763)&lt;BR /&gt;&amp;nbsp;at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:786)&lt;BR /&gt;&amp;nbsp;at org.apache.sqoop.manager.SqlManager.getColumnInfoForRawQuery(SqlManager.java:289)&lt;BR /&gt;&amp;nbsp;at org.apache.sqoop.manager.SqlManager.getColumnTypesForRawQuery(SqlManager.java:260)&lt;BR /&gt;&amp;nbsp;at org.apache.sqoop.manager.SqlManager.getColumnTypes(SqlManager.java:246)&lt;BR /&gt;&amp;nbsp;at org.apache.sqoop.manager.ConnManager.getColumnTypes(ConnManager.java:327)&lt;BR /&gt;&amp;nbsp;at org.apache.sqoop.orm.ClassWriter.getColumnTypes(ClassWriter.java:1858)&lt;BR /&gt;&amp;nbsp;at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1657)&lt;BR /&gt;&amp;nbsp;at org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:106)&lt;BR /&gt;&amp;nbsp;at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:494)&lt;BR /&gt;&amp;nbsp;at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:621)&lt;BR /&gt;&amp;nbsp;at org.apache.sqoop.Sqoop.run(Sqoop.java:147)&lt;BR /&gt;&amp;nbsp;at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)&lt;BR /&gt;&amp;nbsp;at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:183)&lt;BR /&gt;&amp;nbsp;at org.apache.sqoop.Sqoop.runTool(Sqoop.java:234)&lt;BR /&gt;&amp;nbsp;at org.apache.sqoop.Sqoop.runTool(Sqoop.java:243)&lt;BR /&gt;&amp;nbsp;at org.apache.sqoop.Sqoop.main(Sqoop.java:252)&lt;BR /&gt;18/05/15 10:47:01 ERROR tool.ImportTool: Import failed: java.io.IOException: No columns to generate for ClassWriter&lt;BR /&gt;&amp;nbsp;at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1663)&lt;BR /&gt;&amp;nbsp;at org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:106)&lt;BR /&gt;&amp;nbsp;at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:494)&lt;BR /&gt;&amp;nbsp;at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:621)&lt;BR /&gt;&amp;nbsp;at org.apache.sqoop.Sqoop.run(Sqoop.java:147)&lt;BR /&gt;&amp;nbsp;at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)&lt;BR /&gt;&amp;nbsp;at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:183)&lt;BR /&gt;&amp;nbsp;at org.apache.sqoop.Sqoop.runTool(Sqoop.java:234)&lt;BR /&gt;&amp;nbsp;at org.apache.sqoop.Sqoop.runTool(Sqoop.java:243)&lt;BR /&gt;&amp;nbsp;at org.apache.sqoop.Sqoop.main(Sqoop.java:252)&lt;/P&gt;&lt;P&gt;[cloudera@quickstart ~]$ ^C&lt;BR /&gt;[cloudera@quickstart ~]$&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have just started cloudera i am stuck here can anybody hep&lt;/P&gt;</description>
      <pubDate>Tue, 15 May 2018 17:53:15 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/sqoop-unable-to-import-data-from-two-tables/m-p/67304#M46210</guid>
      <dc:creator>Samia</dc:creator>
      <dc:date>2018-05-15T17:53:15Z</dc:date>
    </item>
  </channel>
</rss>

