airflow 의 Quick Start 웹페이지에 보면 설치하고 airflow standalone 으로 가볍게 띄우려고 할때 아래와 같은 오류가 발생될때가 존재한다. 결론부터 말하면 서버의 sqlite 버전이 낮기 때문이다. 그래서 더 상위버전으로 업데이트 재설치가 필요하다. https://airflow.apache.org/docs/apache-airflow/2.7.3/start.html (py3) $ airflow standalone Traceback (most recent call last): File "/home/myuser/py3/bin/airflow", line 5, in from airflow.__main__ import main File "/home1/myuser/py3/lib/python3..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bUL888/btsrgPRYmMh/JbCSU0Mns8BbhtbkRFATh0/img.png)
쿼리문에서 N 개의 문자열 포함 여부를 판단할 때 in 쿼리를 많이 사용한다. 그것과 유사하게 엑셀내에서, 필터함수를 사용해서 특정 시트의 값 조건에 따라 필터링한 결과를 출력해주는걸 하려면 어떻게 해야할까? 1. 쿼리문에서 in 절을 엑셀에서 표현하려면? 쉽게 말하면 SQL 에서 in 절을 엑셀에서 어떻게 표현할 수 있을까? 하는 의미이다. SELECT * FROM 직원 WHERE 고향 in (서울, 부산, ...) -- 조건을 변경하면서 검색한다면? ; 검색할 갯수가 고정적이라면 조건문에 + 를 써서 OR 조건으로 표현하는게 수식이 매우 쉽다 (이전글 참조) 2023.08.14 - [데이터처리/구글시트-엑셀] - [엑셀] SQL의 where 를 엑셀로 하려면? filter 함수 활용하기 (2개이상조건..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/boh6cT/btsrf3wnI7R/wPWKk6iJTB7Thvkiv4M16k/img.png)
나 처럼 쿼리가 더 편하고, 엑셀이 더 낯선 사람을 위한 코너이다. 엑셀 자체에 필터기능이 존재 해서 쉽게 필터를 사용할 수 있는데, 함수를 이용해서 필터링하는것은 잘 안내되지 않는 경우가 많다. 만약, 아래 데이터에서 고향이 서울이나 부산이면서, 나이가 30세 이상인 사람만 필터링 하려면 어떻게 해야할까? 쿼리로 표현하면 이렇다 쿼리로 표현하면 이런 SQL 로 표현이 가능하다. 그럼 엑셀에서는 어떻게 표현해야할까? SELECT * FROM 직원 WHERE (고향 = '서울' OR 고향 = '부산) AND 나이 >= 30 ; 엑셀로 표현하는 방법 결론부터 말하면 엑셀에서 filter 함수를 사용하면 쉽게 해결된다. 인자값이 3개인데 가장 중요한건 2번째 인자값으로 조건문에 해당한다. =FILTER(직원!..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/7Gejv/btspmKLQYAF/3Leb8fByKPNbTnAPfLFMq1/img.png)
개인적으로 엑셀을 복잡하게 쓰는일이 적고, 오히려 구글시트를 주로 쓰게되는 경우가 많았다. 구글 시트에서는 다른 파일의 시트내용을 IMPORTRANGE 라는 함수로 쉽게 가져오는 방법이 존재했다. 그런데, sharepoint 를 통한 엑셀을 사용하다가 그러면 엑셀에서는 외부 시트의 데이터를 어떻게 가져올 수 있지? 하고 삽질을 했는데 뚜렷한 방법이 안나와서 헤맸는데 결국은 방법을 찾았다. 해결방법 : 외부 시트 참조하는법 결론부터 말하면 매우 쉽다. 파일명을 [] 로 감싸고, 그 뒤에 참조할 시트명을 넣어주고 '' 로 감쌓은후, 시트 시작과 종료열을 적으면 된다. 원래는 파일명을 풀경로로 적어줘야하는데, 작업중인 파일이 같은 경로에 존재한다면 경로를 생략하고 파일명만 넣어주면 알아서 풀경로를 채워주고, ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/GPAB6/btspok7lzxw/qkU7vWkdnkNmYPe1Scpiok/img.png)
개인적으로는 엑셀보다는 SQL 쿼리문이 더 익숙하다. 그래서 검색어를 뭐로해야 하나 한참 헤멨는데 결국 해결방법을 찾았다. 쉽게 생각해서 동일한 포맷의 데이터를 하나로 합쳐야 할때가 종종 필요한데 이것을 하는 방법이다. 결론부터 말하면 VSTACK 함수를 써서 합칠수 있고, 중복된건 UNIQUE 함수를 쓰면 해결가능하다. VSTACK = UNION ALL SQL 에서는 UNION ALL 로 2개의 테이블을 하나로 묶어서 조회하는게 가능하다. 그럼 엑셀에서는 어떻게 사용하면 될까? VSTACK 함수를 사용하면 된다. 기본 사용법은 아래와 같고 수식 차체가 어려운것도 없다. =VSTACK(시트범위, 시트범위2, ... , 시트범위N) 이해를 돕기위해 예시를 들어 설명한다면 아래와 같다 (아래 이미지 참조) ..
운영체제에는 가상메모리라는 개념이 존재하고, 물리메모리가 부족하면 디스크에 저장을 해서 부족한 메모리를 커버한다. 그래도 부족하면 os 에서는 일부 프로세스를 강제로 kill 하는 상황이 발생되며, 의도치 않게 데몬이 죽는 케이스가 존재한다. 메모리 부족해서 프로세스가 kill 되었는지 확인하는 방법은 dmseg 커맨드를 쳐서 확인해보면, killed process 라는 정보를 확인할 수 있다. 그런데 모니터링 도구를 이용해 보면 서버에는 메모리 여유가 존재하는데 프로세스가 죽는 경우가 생길때가 있는데 이때는 swap 사용을 확인해보자. $ dmseg -H ... [ +0.000002] [19271] 500 19271 740064 16066 182 0 0 java [ +0.000001] [19438] 5..
참고로 아래와 같이 security.protocol 이 SASL_PLAINTEXT kafka 를 연동했을때 나타났던 문제이다. kafka 의 토픽을 맵핑한 ddl 문과 에러메시지 이다. beeline> CREATE EXTERNAL TABLE kafka_table ( foo STRING, bar STRING ) STORED BY 'org.apache.hadoop.hive.kafka.KafkaStorageHandler' TBLPROPERTIES ( "kafka.bootstrap.servers" = "10.1.1.1:9092", "kafka.topic" = "sample_topic", "kafka.serde.class" = "org.apache.hadoop.hive.serde2.JsonSerDe", 'kafk..
hive 에서 kafka 를 쉽게 연동해서 사용할 수 있어서, 꽤 유용하게 쓸수 있다. 그런데, 하둡클러스터는 kerberos 인증을 사용하고 kafka 는 다른 인증방식을 사용할 경우 어떻게 사용해야하는지 readme.md 문서를 뒤져봐도 친절하지가 않다. 그래서 관련된 선언방법과 주의사항을 안내하려고 한다. https://github.com/apache/hive/blob/master/kafka-handler/README.md 문제점 우선 org.apache.hadoop.hive.kafka.KafkaStorageHandler 를 사용가능하다는 전제로 설명하도록 하겠다. 보통 kafka 의 인증정보를 다음과 같이 표현하여 사용하는데... 아래 정보를 table 선언할때 어떻게 맵핑하는지 정리가 안되어있어..