python sqoop 심플한 예제 코드이다.
사실 풀링하는 부분은 없어도 된다.
(→ 어차피 proc.communicate()에서 기다렸다가 작업이 끝나면 값을 가져옴)
하지만 이 부분이 없으면 아무 안내문구가 없어서 작업이 제대로 되고 있는지 불안해서 넣었다.
import subprocess
import time
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
query = "select * from member"
sqoop = query + " --hadoop-mapred-home /usr/hdp/3.1.4.0-315/hadoop --outdir/" + BASE_DIR + " --class-name " + "member"
proc = subprocess.Popen(sqoop, shell = True, stdout = subprocess.PIPE, stderr = subprocess.PIPE)
while proc.poll() is None: # 데이터 수집 완료하였는지 풀링하며 확인
print("Still working...")
time.sleep(3)
result = proc.communicate()[1]
if(result.__contains__("completed successfully"):
print("success")
'보안 > 데이터 분석' 카테고리의 다른 글
[무료 온라인 세미나] 보안위협 분석 자동화 유즈케이스 소개 (SOAR) - Fortinet 361 Security Conference 2020 (0) | 2020.11.19 |
---|---|
[무료 온라인 세미나] UEBA 내부 직원 보안 유즈케이스 소개 (SIEM) - Fortinet 361 Security Conference 2020 (0) | 2020.11.05 |
[무료 온라인 세미나] 보안 전문가 부족과 기술 격차 해소법 - Fortinet 361 Security Conference 2020 (0) | 2020.10.29 |
Elasticsearch 쿼리 모음 (0) | 2020.09.11 |
hive index 생성 에러 (state=42000, code=40000) (0) | 2020.09.11 |