Uploaded image for project: 'Sqoop (Retired)'
  1. Sqoop (Retired)
  2. SQOOP-352

Export of avro data imported from database table (using sqoop import) fails on year

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 1.4.2
    • connectors/mysql
    • None

    Description

      Report from Wing Yew Poon:

      I use a MySQL database for testing sqoop. I created a table with a representative collection of data types for the columns, excluding blob and text (and their different-sized variants).
      I run sqoop import --as-avrodatafile to import the table into hdfs.
      I create a second table with the same schema, and run sqoop export to export the avro data to this second table. The export fails with

      java.io.IOException: java.sql.SQLException: Data truncated for column 'yyyy' at row 1
      	at com.cloudera.sqoop.mapreduce.AsyncSqlRecordWriter.close(AsyncSqlRecordWriter.java:180)
      	at org.apache.hadoop.mapred.MapTask$NewDirectOutputCollector.close(MapTask.java:540)
      	at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:649)
      	at org.apache.hadoop.mapred.MapTask.run(MapTask.java:323)
      	at org.apache.hadoop.mapred.Child$4.run(Child.java:270)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at javax.security.auth.Subject.doAs(Subject.java:396)
      	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1127)
      	at org.apache.hadoop.mapred.Child.main(Child.java:264)
      Caused by: java.sql.SQLException: Data truncated for column 'yyyy' at row 1
      	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
      	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
      	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3558)
      	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3490)
      	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959)
      	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2109)
      	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2648)
      	at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2077)
      	at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1356)
      	at com.cloudera.sqoop.mapreduce.AsyncSqlOutputFormat$AsyncSqlExecThread.run(AsyncSqlOutputFormat.java:232)
      

      Attachments

        1. SQOOP-352.patch
          24 kB
          Bilung Lee

        Issue Links

          Activity

            People

              bleeapache Bilung Lee
              tomwhite Thomas White
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: