原因
最近在学习Hive,学习到了自定义函数UDF。要继承一个类org.apache.hadoop.hive.ql.exec.UDF
所以要添加Hive的依赖,下载源码才可以进行自定义函数。
一、添加依赖
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-exec</artifactId> <version>1.0.0</version> </dependency> <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-serde</artifactId> <version>0.14.0</version> </dependency> <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-service</artifactId> <version>0.14.0</version> </dependency> <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-metastore</artifactId> <version>0.14.0</version> </dependency> <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-common</artifactId> <version>0.14.0</version> </dependency> <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-cli</artifactId> <version>0.14.0</version> </dependency> <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-jdbc</artifactId> <version>0.14.0</version> </dependency>
|
- 把以上依赖添加到maven工程的pom.xml中。按理来说,保存后,它会自动下载所依赖的jar包。但是可能是我哪里没有配置好,它没有自动下载。
这个时候添加的依赖那里会出现一堆红叉。不要紧
,进入第二步。
二、下载依赖的jar包
1、打开cmd,进入到项目所在的目录
2、执行mvn clean package(这样可以把所有未下载的jar包重新下载)
此时需要耐心等待,因为服务器在国外(你懂滴)。
出现BULID SUCCESS即表示完成。
3、消除红叉
此时,虽然jar包都已经下载完毕。但是红叉依旧存在。
此时在
项目上右键->Maven->Update project…
等它结束后,红叉都消失了
p.s 我就是这样搞定的(不行的话,我也母鸡(╰_╯)# )
4、添加源码
按理说,jar包我都下载好了。源代码我应该都可以看了啊。
可是,问题依旧没有结束。。。
eclipse中open type中输入hive
结果:
source not found
真是哔了狗了。我特么都下载了源代码,居然说找不到。闹哪样啊!!!
尝试①
添加external 源。把下好的jar包添加进去。还特么不行。
尝试②
我看到项目上右键->Maven里面有一个Download Sources
我想着,不就是sources找不到吗,试试喽。点了一下。等了半天。居然好了。。。
看了一下,原来下载依赖的地方,多了一个以sources
结尾的jar包。可能必须要下载这个才可以吧。
此时,源代码都已经可以查看了。