【发布时间】:2018-02-08 11:44:12
【问题描述】:
我正在使用 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/工作簿
【问题讨论】:
-
你得到任何错误堆栈吗?也请粘贴。
-
无错误堆栈。这是我尝试创建临时函数时遇到的错误
标签: hadoop hive apache-poi hdfs user-defined-functions