hadoop—使用java读取存储在hdfs中的excel文件

mklgxw1f  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(631)

我正在用java为hive编写一个udf。我必须读取存储在hdfs中的excel文件,并使用udf进行一些处理。我正在使用poi库进行处理。
当我们从hdfs读取时,我们得到fsdatainputstream,但是当我们使用poi创建工作簿时,它需要inputstream对象。
尽管代码在编译时没有给出错误。

FSDataInputStream stream = hdfs.open(new Path(inputFile));
Workbook workbook= new XSSFWorkbook(stream);

但当我创建临时函数时,我得到:
执行错误,从org.apache.hadoop.hive.ql.exec.functiontask返回代码-101。org/apache/poi/ss/usermodel/工作簿

i1icjdpr

i1icjdpr1#

看起来你没有添加所有依赖的jar。您需要使用依赖关系构建jar,或者逐个添加所有依赖jar。
命令:hive>add myjar.jar

相关问题