일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- ambari
- HIVE
- docker
- slack
- yarn
- HDFS
- airflow
- Kafka
- Lambda architecture
- execution_date
- Scala
- SlackWebhookOperator
- Windows
- HBase
- java
- 정규표현식
- hadoop
- MapReduce
- NoSQL
- python
- 빅데이터
- 람다 아키텍처
- Service
- re
- Example DAG
- HDP
- jupyter
- slack app
- Namenode
- LDAP
- Today
- Total
목록HIVE (4)
IT 삽질기
이번 글에서는 hive의 managed table와 external table에 대해 알아보도록 하자. hive에서는 hive에서 생애주기를 관리하는 managed table과 그렇지 않은 external table를 생성해서 사용할 수 있다. 각각 어떻게 무엇인지 알아보도록 하자. Managed table 먼저 Managed table는 hdfs상 hive.metastore.warehouse.dir 경로에 존재하며 해당 디렉터리 하위에 테이블의 데이터가 저장되게 된다. 예를 들어 hive.metastore.warehouse.dir의 설정값이 /apps/hive/managed로 설정되어 있다면 managed table의 경로는 /apps/hive/managed의 하위가 되고, 일반적인 방법으로 테이블을 ..
HiveServer2 인증 방법으로 LDAP을 사용하는 경우 Airflow HiveServer2Hook를 사용해 hive에 query을 날리는 방법에 대해서 알아보도록 하자 Airflow의 버전은 2.0.0을 사용했다. 먼저 Airflow의 HiveServer2Hook의 코드를 살펴보도록 하자 github.com/apache/airflow/blob/c699e97d0d43e06ea9835a845570db4fc7fd6931/airflow/providers/apache/hive/hooks/hive.py#L804 코드에서 살펴봐야 할 부분은 인증방식에 대한 부분과 connection을 만드는 과정이다. 먼저 인증 방식을 설정하기 위해서는 829번 line의 코드를 살펴봐야 한다 auth_mechanism으로 c..
pyHive를 이용해 Hive에 접근하는 경우 발생한 에러에 대해 정리한다 Hive는 LDAP을 이용해 인증을 하는 방식으로 설정되어 있다 hive.server2.authentication LDAP 이런 경우 pyHive를 통해 hive에 접근하는 경우에도 LDAP을 통한 인증이 필요한대 pyHive의 코드를 살펴보자 github.com/dropbox/PyHivegithub.com/dropbox/PyHive/blob/master/pyhive/hive.py 코드를 살펴보면 HiveServer2를 통해 접근을 하고 연결하기 위해 필요한 다양한 파라미터들에 대해 정리가 되어 있는데 인증방식 auth에 LDAP을 사용할 예정이다 python에서 연결을 위해 사용한 명령어는 아래와 같다 from pyHive im..
Hive 테이블을 복사하는 방법을 알아보도록 하자 Hive 테이블을 복사하는 방법은 다음과 같이 나뉜다 1. hive 테이블의 구조(partition) 복사해 새로운 테이블을 만드는 방법 2. hive partition정보는 가지고 오지 않고 데이터만 복사해 새로운 테이블에 넣는 방법 3. partition과 데이터를 모두 복사하는 방법 먼저 복사하려고 하는 hive Table에 partition이 있는지 알아보도록 하자 DESC [DB].[TABLE] # ex) DESC tmp.aa partition이 있는 테이블은 아래와 같이 표시된다 반대로 partition이 없는 테이블은 아래와 같이 표시된다 파티션이 없어 데이터만 복사하고자 하는 경우 새로운 테이블을 만들 때 CREATE - SELECT문을 통..