解决Sqoop使用—query 导入时不支持别名的问题

原创 2013年12月03日 20:10:44

原因:sqoop解析sql时,直接取的数据库字段的名字,没有取别名。不过sqoop为什么这么做,尚不清楚。

解决方案:修改文件:org.apache.sqoop.manager.SqlManager.java

找到getColumnNamesForRawQuery(String stmt)方法;

找到如下代码

String colName = metadata.getColumnName(i);

        if (colName == null || colName.equals("")){

          colName = metadata.getColumnLabel(i);

       }

改为:

String colName =metadata.getColumnLabel(i);

       if (colName == null || colName.equals("")) {

         colName = metadata.getColumnName(i);

       }

找到getColumnTypesForRawQuery(String stmt)方法;

同样:

找到如下代码

String colName = metadata.getColumnName(i);

        if (colName == null || colName.equals("")){

          colName = metadata.getColumnLabel(i);

       }

改为:

String colName =metadata.getColumnLabel(i);

       if (colName == null || colName.equals("")) {

         colName = metadata.getColumnName(i);

       }

 

重新编译项目,用新编译的该类替换sqoop-1.4.3-cdh4.4.0.jar包中类。并替换sqoop的根目录下的该jar包。问题解决!

本文主要通过对sqoop的远程debug跟踪定位解决的该问题,具体远程debug方法如下:

http://blog.csdn.net/exception_ex/article/details/17166225


注:本文是针对sqoop-1.4.3-cdh4.4.0.jar包进行分析,具体到其他版本需要具体进行测试。

相关文章推荐

sqoop导数类型不支持解决方法:Hive does not support the SQL type for column

sqoop导数类型不支持解决办法:Hive does not support the SQL type for column sqoop导数从oracle到hive中,遇到RAW等类型时,会报错: ...
  • BDCHome
  • BDCHome
  • 2016年09月05日 11:03
  • 560

hibernate使用HibernateCallback 回调的方法查询SQL时could not execute query--作怪的别名

最近用hibernate3,发现一个奇怪的现象,写的sql语句查询有时报错有时正常。 下面是我用的DAO层的实现类: /** * 使用 sql 语句进行操作 * ...

Selenium Webdriver 的使用java执行js代码 解决 ScriptEngine不支持浏览器内置对象window,document的问题

问题场景: 使用java 掉用js代码,发现 ScriptEngine不支持浏览器内置对象window,document的问题; 问题一:为什么要 用java掉用js代码?     比如在 抓取...

使用Android的webview将web app打包成安卓的app和解决安卓webview不支持input type=file问题

使用Android的webview将web app打包成安卓的app和解决安卓webview不支持input type=file问题...

实现支付宝接口时url的构造,主要解决服务器不支持https的问题

用户点击付款是执行下面的代码构造完成url后跳转到支付宝   //按时构造订单号;         System.DateTime currentTime = new System....
  • ZPF2015
  • ZPF2015
  • 2015年09月15日 18:13
  • 1107

解决ie不支持javascript等问题(rar)

  • 2009年07月15日 10:34
  • 872B
  • 下载

hibernate sql query 时 别名

hibernate sql query 时 别名无法mapping 的解决办法     public List getAllByPageTerMsg(PageInfoBO pageInfo, ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:解决Sqoop使用—query 导入时不支持别名的问题
举报原因:
原因补充:

(最多只允许输入30个字)