Hadoop Sqoop导出到Teradata Error

时间:2015-07-08 05:55:47

标签: hadoop jdbc teradata sqoop

我正在尝试使用Sqoop将数据导出到TERADATA。整个mapreduce.Job已完成,但数据未加载,并显示以下内容。

public class EmpDao {
    private JdbcTemplate jt;
public List<EmpDto> listEmpoyees(){
 String sql = "select * FROM emp";
  List<EmpDto> emplist = jt.query(sql, new RowMapper() {

                public EmpDto mapRow(ResultSet rs, int rowNum) throws SQLException {
                    EmpDto emp = new EmpDto();

                    emp.setId(rs.getInt("id"));
                    emp.setName(rs.getString("name"));
                    emp.setAge(rs.getInt("age"));
                    emp.setSalary(rs.getInt("salary"));
                    emp.setAddress(rs.getString("address"));

                    System.out.println("***");

                    return emp;
                }

            });      
            return emplist;
}}

怎么了?

我使用以下脚本加载

15/07/08 01:27:36 INFO processor.TeradataOutputProcessor: input postprocessor
com.teradata.connector.teradata.processor.TeradataBatchInsertProcessor starts at:  1436333256770
15/07/08 01:27:36 INFO processor.TeradataBatchInsertProcessor: insert from staget table to target table
15/07/08 01:27:36 INFO processor.TeradataBatchInsertProcessor: the insert select sql starts at: 1436333256969

1 个答案:

答案 0 :(得分:-1)

正如Max所说,正在创建一个临时阶段表 split.by.partition 。您可以在有权访问的其他数据库中强制创建舞台表,也可以使用 split.by.value split.by.hash 拆分。 by.amp

注意: Split.by.hash 还会在输入表未分区的情况下创建分区登台表。但是,如果您的输入表已分区,则不会创建额外的阶段表。