HDFSを参照する時のパスにパターンマッチングを使用する
HDFSのパスを指定する時にワイルドカードで*
と?
が使えるのは知っている人は多いと思いますが、他にも[]
と{}
でパターンマッチングが使えるようです。
FileSystem (Apache Hadoop Main 2.6.1 API)
文字セットを指定する
$ hadoop fs -du -s /foo/bar/2016090[135]
96798001 /foo/bar/20160901
90981407 /foo/bar/20160903
102644147 /foo/bar/20160905
文字の範囲を指定する
$ hadoop fs -du -s /foo/bar/2016090[1-3]
96798001 /foo/bar/20160901
97538454 /foo/bar/20160902
90981407 /foo/bar/20160903
指定文字を除外
$ hadoop fs -du -s /foo/bar/2016090[^123]
93337378 /foo/bar/20160904
102644147 /foo/bar/20160905
101686448 /foo/bar/20160906
102165763 /foo/bar/20160907
105923690 /foo/bar/20160908
97088009 /foo/bar/20160909
文字列リストを指定する
$ hadoop fs -du -s /foo/bar/{20160901,20160902}
96798001 /foo/bar/20160901
97538454 /foo/bar/20160902
$ hadoop fs -du -s /foo/bar/2016090[135]
96798001 /foo/bar/20160901
90981407 /foo/bar/20160903
102644147 /foo/bar/20160905
$ hadoop fs -du -s /foo/bar/2016090[1-3]
96798001 /foo/bar/20160901
97538454 /foo/bar/20160902
90981407 /foo/bar/20160903
指定文字を除外
$ hadoop fs -du -s /foo/bar/2016090[^123]
93337378 /foo/bar/20160904
102644147 /foo/bar/20160905
101686448 /foo/bar/20160906
102165763 /foo/bar/20160907
105923690 /foo/bar/20160908
97088009 /foo/bar/20160909
文字列リストを指定する
$ hadoop fs -du -s /foo/bar/{20160901,20160902}
96798001 /foo/bar/20160901
97538454 /foo/bar/20160902
$ hadoop fs -du -s /foo/bar/2016090[^123]
93337378 /foo/bar/20160904
102644147 /foo/bar/20160905
101686448 /foo/bar/20160906
102165763 /foo/bar/20160907
105923690 /foo/bar/20160908
97088009 /foo/bar/20160909
$ hadoop fs -du -s /foo/bar/{20160901,20160902}
96798001 /foo/bar/20160901
97538454 /foo/bar/20160902
Author And Source
この問題について(HDFSを参照する時のパスにパターンマッチングを使用する), 我々は、より多くの情報をここで見つけました https://qiita.com/tag1216/items/581b25b4bdf4983efec4著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .