Pig脚本路径匹配规则-Shell glob pattern

2 篇文章 0 订阅
1 篇文章 0 订阅

对症下药真的很重要。
今天在写pig脚本时有一个简单的需求,需要批量输入某路径下部分指定路径下的文件。
Pig脚本中的路径变量应采用shell glob pattern匹配。
参考:
http://teaching.idallen.com/cst8207/13w/notes/190_glob_patterns.html
而Pig 语言中内置的MATCH函数则采用的是Java正则匹配规则。
参考:
https://docs.oracle.com/javase/1.5.0/docs/api/java/util/regex/Pattern.html
下面举例说明shell glob pattern 的几个简单规则:

例1:

想要读取以下路径的文件:
user/cris/date=20180801
user/cris/date=20180802
user/cris/date=20180803

%DECLARE INPUT_PATH 'user/cris/date=201808[1-3]'
input = LOAD '${INPUT_PATH}' USING Pigstorage('\t')

例2:

想要读取以下路径的文件:
user/cris/date=20180730
user/cris/date=20180802

%DECLARE INPUT_PATH 'user/cris/date=2018{0730,0802}'
input = LOAD '${INPUT_PATH}' USING Pigstorage('\t')

例3:

想要读取以下路径的文件:
user/cris/date=20180730(some_info)
user/cris/date=20180802(some_other_info)

%DECLARE INPUT_PATH 'user/cris/date=2018{0730,0802}*'
input = LOAD '${INPUT_PATH}' USING Pigstorage('\t')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值