복붙노트

[HADOOP] 루프를 통해 hdfs 디렉토리

HADOOP

루프를 통해 hdfs 디렉토리

내 HDFS 디렉토리 구조는 다음과 같습니다.

/user/hive/warehouse/check.db/abcd/date=2015-02-02/xyz=hijk/000000_0 /user/hive/warehouse/check.db/abcd/date=2015-02-02/xyz=pqrs/000000_0

"/user/hive/warehouse/check.db/abcd"아래의 모든 디렉토리를 반복하고 2 개의 필드를 파생시키고 아래 코드를 사용하고 있습니다.

INPUT='/user/hive/warehouse/check.db/abcd'

for dir in $(hadoop fs -ls $INPUT/*/ | grep -o -e "$INPUT/.*") ; do

    xyz=$(echo $dir | cut -d '=' -f 3)
    date=$(echo $dir | sed 's/.*date=\(.*\)\/xyz.*/\1/g')

done

이 작업을 수행하는 가장 좋은 방법입니까 아니면이 작업을 수행 할 수있는 더 나은 대체 방법입니까?

해결법

  1. ==============================

    1.물론 자바 코드 나 파이썬 스크립트를 사용할 수도 있습니다.

    물론 자바 코드 나 파이썬 스크립트를 사용할 수도 있습니다.

  2. from https://stackoverflow.com/questions/28685471/loop-through-hdfs-directories by cc-by-sa and MIT license