我正在努力做到这一点;

location/11.11
location/12.11
location/13.11

为了做到这一点,我尝试了很多事情,但无法实现。
现在,我有一个Udf配置单元函数,该函数可以向我返回s3表的位置,但是我遇到了一个错误;



这是我的 hive 脚本,我有两个外部表。
CREATE TEMPORARY FUNCTION datenow AS 'LocationUrlGenerator';
CREATE EXTERNAL TABLE IF NOT EXISTS s3( file Array<String>)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' COLLECTION ITEMS TERMINATED BY '\001' LINES TERMINATED BY '\n';
LOCATION datenow();

最佳答案

LOCATION 接受字符串,而不是UDF。语言手册有点不清楚,因为它仅指定[LOCATION hdfs_path]且未定义hdfs_path,但只能是URL位置路径(字符串)。通常,UDF在DDL上下文中是 Not Acceptable 。

使用选择的任何文本工具构建脚本并运行该脚本。

关于hadoop - 如何在Hive脚本中将功能作为S3位置的输入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20214629/

10-16 01:25