网上查资料说,可以先从以下url中获取source文件,http://repo.pentaho.org/artifactory/repo/org/apache/hive/hive-jdbc/0.7.0-pentaho-1.0.2/hive-jdbc-0.7.0-pentaho-1.0.2-sources.jar 下载解压后,导入到你自己的一个新建java工程中,并引入相关的类库,可以使之正常编译。
但实际上并不能找到这个source文件,查遍整个搜索引擎也还是没能找到相关的jar包,因此楼主对jar包进行了反编译-》重编译。
实现步骤:
工具:反编译工具jd-gui、java IDE工具Eclipse
我的实现步骤如下:
-
找到hive-jdbc-0.7.0-pentaho-1.0.2.jar这个jar包,把class文件解压在目录中;
-
使用jd-gui反编译class文件为java源码文件,保存;
-
新建java工程,把java源码文件导入工程;
-
从hive-jdbc-0.7.0-pentaho-1.0.2.jar这个文件名可猜测,驱动是针对hive0.7.0进行修改的,引入hive、hadoop0.20的相关jar包,jdk使用1.5来编译;
-
修改报错的代码——反编译的代码不一定是正确的,会有一定的语法错误;
StructObjectInspector soi = (StructObjectInspector) serde.getObjectInspector();
List fieldRefs = soi.getAllStructFieldRefs();
//Object data = serde.deserialize(new BytesWritable(rowStr.getBytes()));//我们将该行屏蔽
Object data = serde.deserialize(new BytesWritable(rowStr.getBytes(“UTF-8”)));//使用本行
- 替换原来包中的HiveQueryResultSet.class文件,对所有的class文件按原结构进行打为jar包;
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
写在最后
很多人感叹“学习无用”,实际上之所以产生无用论,是因为自己想要的与自己所学的匹配不上,这也就意味着自己学得远远不够。无论是学习还是工作,都应该有主动性,所以如果拥有大厂梦,那么就要自己努力去实现它。
最后祝愿各位身体健康,顺利拿到心仪的offer!
由于文章的篇幅有限,所以这次的蚂蚁金服和京东面试题答案整理在了PDF文档里
转存中…(img-03rQVIHe-1711145687255)]
[外链图片转存中…(img-rWYXyUCM-1711145687255)]