많은 임팔라 쿼리를 실행하고 각 쿼리를 실행하는 데 걸린 시간을 반환 할 수 있기를 원합니다. 임팔라 쉘을 사용하여, 나는 다음과 같은 명령을 사용하여이 작업을 수행 할 수 있습니다임팔라 쿼리 실행 및 쿼리 시간 받기
impl -q "select count(*) from database.table;"
이 나에게 출력 내가 그 마지막 줄을 가져오고 시간을 추출 할 수 있도록하려는
Using service name 'impala'
SSL is enabled. Impala server certificates will NOT be verified (set --ca_cert to change)
Connected to *****.************:21000
Server version: impalad version 2.6.0-cdh5.8.3 RELEASE (build c644f476b774db9db87a619628f7a6ecc5f843e0)
Query: select count(*) from database.table
+----------+
| count(*) |
+----------+
| 1130976 |
+----------+
Fetched 1 row(s) in 0.86s
을 제공합니다. 그것은 어떻게 중요하지 않습니다. 그래서 내가 언어에 태그를 추가하지 않았습니다. 나는 grep을 다음과 같이 사용하려고 시도했다 :
impl -q "select count(*) from database.table" | grep -Po "\d+\.\d+"
그러나 테이블을 제거하는 것은 아무것도하지 않는다. 쿼리를 파이썬 스크립트에 넣고 서브 프로세스를 사용하면 impl
을 명령으로 찾을 수없고 스칼라에서도 마찬가지입니다. impala-shell
가 표준 출력보다는 stderr로 해당 메시지를 덤프 것을
'stderr'에 호의를 표합니다! 문제를 즉시 해결했습니다. 스크립팅 언어 (bash 제외)에서이 작업을 수행 할 수있는 방법이 있는지 알고 계십니까? 파이썬에서 호출해도 여전히 오류가 발생합니다. – bendl
@bendl 어떤 종류의 오류 메시지가 나타 납니까? 필자는 이전에 임팔라 셸에서 파이썬 3을 지원하지 않는 유사한 문제를 가지고있었습니다. – etopylight
'impl'은 명령이 아니 었습니다 ...'impl'을 사용하여'impl'이 짧고 – bendl