일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- re
- MapReduce
- yarn
- Namenode
- 람다 아키텍처
- Service
- Kafka
- 정규표현식
- java
- jupyter
- docker
- Scala
- execution_date
- Lambda architecture
- slack app
- Example DAG
- python
- Windows
- HBase
- NoSQL
- HIVE
- slack
- HDFS
- hadoop
- airflow
- ambari
- LDAP
- SlackWebhookOperator
- 빅데이터
- HDP
- Today
- Total
목록분류 전체보기 (104)
IT 삽질기

이번 글에서는 python Collections 모듈에 있는 namedtuple에 대해서 알아보도록 하자. 먼저 tuple에 대해서 간단하게 알아보자. tuple tuple는 순서가 있고 값을 변경할 수 없는(immutable) 객체로 일반적으로 List와 비교된다.(List는 값을 변경할 수 있음) tuple의 요소에 접근하려는 경우 index의 값을 이용하여 접근하게 되는데 예제를 통해 알아보도록 하자. tuple는 위와 같이 사용되며, 어떤 index에 어떤 값이 있는지를 알고 있어야 한다는 단점이 있다. namedtuple namedtuple는 index와 name를 통한 접근이 가능한 객체로 기존 tuple보다 좀 더 직관적인 접근이 가능하며, 메모리 활용에 최적화 되어 있다고 설명한다. 기본 ..

이번 글에서는 빅데이터 시스템을 설계할 때 고려할 수 있는 architecture중 하나인 람다 아키텍처에 대해서 알아보도록 하자. 람다 아키텍처 람다 아키텍처는 실시간 분석을 지원하며, 배치와 스트림 방식을 모두 활용하여 많은 양의 데이터를 처리할 수 있게 하는 아키텍처이다. 아래의 그림은 람다 아키텍처를 그림으로 나타낸 것으로 그림을 통해 좀 더 자세하게 살펴보도록 하자. 먼저 각각의 layer에 대해서 알아보자. Batch layer Batch layer은 수시로 생성되는 데이터에 대해 주기적으로 실행되며 batch view를 만들어내는 역할을 한다. 이 글에서는 Batch layer의 주기가 일별로 동작하는 것을 가정하여 설명하도록 한다. 이렇게 배치작업을 이용해 데이터를 생성하게 되면 데이터에 ..

이번 글에서는 Airflow의 LocalExecutor과 CeleryExecutor에 대해서 알아보도록 하자. Airflow에서 제공하는 Executor의 종류는 여러가지가 있지만 여기서는 이 두가지만 자세하게 비교하도록 한다. Executor 먼저 Executor이 뭔지 알아보도록 하자. Airflow에서 이야기하는 Executor은 task가 실행되는 매커니즘으로 Executor을 어떻게 설정하느냐에 따라 task 실행방식이 달라지는 것으로 이해하면 될 것 같다. Airflow에서 제공하는 전체 Executor은 아래의 링크에서 확인할 수 있다. https://airflow.apache.org/docs/apache-airflow/stable/executor/index.html Sequential Ex..

이번 글에서는 Hadoop MapReduce 과정에서 이야기하는 Combiner 함수에 대해 알아보도록 하자. Combiner 함수 Hadoop을 사용하면 데이터를 분산처리하고 많은 양의 자원을 사용할 수 있지만 무한한 자원을 사용하는 것은 아니다. Map, Reduce 작업 진행시 자원을 최소화하여 사용할 필요가 있는데 Combiner는 Map-Reduce간 데이터 전송을 최소화할 수 있게 해준다. Combiner 함수는 Reduce 함수의 출력이 Reduce 함수의 입력이 되는 것을 허용하는 것을 뜻한다. 예를 들어 최대값, 최솟값, count와 같은 결과를 얻기 위해 Map task에서 취합한 결과를 reduce에서만 진행하는 것이 아니라 각각의 Map task에서 최댓값, 최솟값, count와 같..

이번 글에서는 python에서 정규표현식을 사용하기 위해 사용하는 re 패키지에서 제공하는 추가적인 옵션에 대해서 알아보도록 하자. 기본적인 내용은 지난글에 참고하기 바란다. 2021.08.15 - [개발/python] - python 정규표현식 사용하기(1) re 패키지 추가 옵션 re패키지에서 제공하는 추가 옵션에 대해서 알아보자. 옵션 기능 DOTALL(S) . 이 줄바꿈을 포함한 모든 문자와 매치될 수 있도록 함 IGNORECASE(I) 대소문자 관계없이 매칭 DOTALL(S) DOTALL은 정규 표현식에서 사용하는 .을 줄바꿈(\n)과도 매칭되도록 하는 옵션이다. 예제를 살펴보자. 옵션을 사용하지 않는 경우 아래와 같이 줄바꿈(\n)에 대해서는 매칭되지 않는다. 옵션을 사용하기 위해서는 comp..

이번 글에서는 python에서 정규표현식을 사용하는 방법에 대해서 알아보도록 하자. 정규표현식에 대한 내용은 이전 글을 참고하기 바란다. 2021.08.10 - [개발] - 정규표현식(Regex)이란? python 정규표현식 패키지 re python에서 정규표현식을 사용하기 위해서는 re(regular expression) 패키지를 사용한다. re패키지를 사용하는 예제를 살펴보도록 하자. 정규표현식의 패턴을 만들기 위해 re.compile()을 사용한다. 이전 글에서 작성했던 것처럼 정규표현식으로 H로 시작해서 o로 끝나는 문자열을 찾는 패턴을 만들었다. 일치하는 패턴을 찾기 위해서 사용할 수 있는 method를 예제와 함께 확인해보자. re에서 제공하는 method 만든 패턴을 이용해 메서드를 이용하여..

정규표현식이란? 정규표현식이란 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어로 텍스트 편집기와 프로그래밍 언어에서 문자열 검색과 치환을 위해 사용하고 있다. 프로그래밍시 그렇게 자주 사용되지는 않지만, 가끔 사용하는 경우가 있어 정리해 남겨두려고 한다. 정규표현식에서는 메타 문자라는 개념을 이용해 이와 일치하는 텍스트를 찾아낼 수 있는데, 사용할 수 있는 메타 문자가 어떤 것들이 있는지 어떻게 활용하는지에 대해 알아보자. 메타문자 의미 x? x가 0개 혹은 1개 x* x가 0번 이상 x+ x가 1번 이상 x{n} x가 n번 x{n,} x가 n번 이상 x{n,m} x가 n번 이상 m번 이하 . 임의의 문자 1개 ^x x로 시작 x$ x로 끝 x|y x or y [] []를 사용하는 경우..
이번 글에서는 OLTP(Online transaction processing)와 OLAP(Online Analytical Processing)에 대해서 알아보도록 하자. OLTP(Online transaction processing) OLTP는 온라인 트랜잭션(Transaction) 처리로 다수의 사용자가 DB에 대한 일괄 트랜잭션 처리를 의미한다. 여기서 이야기하는 트랜잭션은 일반적으로 이야기하는 것으로 정의는 아래와 같다. Transaction DBMS 또는 유사한 시스템에서 상호작용의 단위로 트랜잭션이 성공과 실패가 분명하고 상호 독립적이며, 일관되고 믿을 수 있는 시스템을 의미 원자성, 일관성, 독립성, 영구성 ACID를 보장 출처 https://ko.wikipedia.org/wiki/%EB%8D..