
종종 SSO 로 로그인할 때, 패스워드가 변경되었거나 다른 계정을 사용하는데 쿠키정보가 꼬여서 로그인이 제대로 안되고 문제가 되는경우가 종종있다. 이 문제인지 확인하는 가장 쉬운방법은 시크릿탭에서는 아무 문제없는데 일반 탭에서 문제가 될때 이 문제라고 판단할 수 있다. 가장 쉬운방법은 모든 캐시와 쿠키를 삭제하는것이지만, 편하게 쓰려고 세팅한 자동완성이나 캐시등이 날라가는건 또 싫은 경우가 생길텐데 이럴땐 해당 특정 사이트 도메인만 삭제하는게 가능하다. 해결방법 크롬에서 다음과 같이 개인 정보 및 보안 메뉴에서 사이트 설정값에서, 문제가 되는 사이트를 검색후 해당 쿠키를 삭제하면 된다. 설명하면 길지만 이미지를 보면 쉽게 이해할 수 있을것이다. 이렇게 따라하면 특정 사이트의 쿠키를 삭제하여 꼬인 문제를 ..

ETL 작업을 구성하다보면, 배치주기가 다양하게 구성하는 경우가 많다. 특히, raw 로그를 처리하는건 10분 단위와 같이 짧게 유지하고, 뒤쪽 데이터 가공하는건 1시간이나 1일 단위로 배치 사이클을 더 넓게 가져가야하는 경우가 종종 생긴다. 만약, NamedHivePartitionSensor 를 사용하는 경우는 N개의 파티션 이름을 나열해서 쉽게 해결이 가능하다. 그렇다면 ExternalTaskSensor 에서는 이런 문제를 어떻게 해결할 수 있을까? check_event_log = NamedHivePartitionSensor( task_id='check_event_log', partition_names=[ "log.event_log/ymd={{ ymd(dag_run.logical_date) }}/hh..
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..

쿼리문에서 N 개의 문자열 포함 여부를 판단할 때 in 쿼리를 많이 사용한다. 그것과 유사하게 엑셀내에서, 필터함수를 사용해서 특정 시트의 값 조건에 따라 필터링한 결과를 출력해주는걸 하려면 어떻게 해야할까? 1. 쿼리문에서 in 절을 엑셀에서 표현하려면? 쉽게 말하면 SQL 에서 in 절을 엑셀에서 어떻게 표현할 수 있을까? 하는 의미이다. SELECT * FROM 직원 WHERE 고향 in (서울, 부산, ...) -- 조건을 변경하면서 검색한다면? ; 검색할 갯수가 고정적이라면 조건문에 + 를 써서 OR 조건으로 표현하는게 수식이 매우 쉽다 (이전글 참조) 2023.08.14 - [데이터처리/구글시트-엑셀] - [엑셀] SQL의 where 를 엑셀로 하려면? filter 함수 활용하기 (2개이상조건..

나 처럼 쿼리가 더 편하고, 엑셀이 더 낯선 사람을 위한 코너이다. 엑셀 자체에 필터기능이 존재 해서 쉽게 필터를 사용할 수 있는데, 함수를 이용해서 필터링하는것은 잘 안내되지 않는 경우가 많다. 만약, 아래 데이터에서 고향이 서울이나 부산이면서, 나이가 30세 이상인 사람만 필터링 하려면 어떻게 해야할까? 쿼리로 표현하면 이렇다 쿼리로 표현하면 이런 SQL 로 표현이 가능하다. 그럼 엑셀에서는 어떻게 표현해야할까? SELECT * FROM 직원 WHERE (고향 = '서울' OR 고향 = '부산) AND 나이 >= 30 ; 엑셀로 표현하는 방법 결론부터 말하면 엑셀에서 filter 함수를 사용하면 쉽게 해결된다. 인자값이 3개인데 가장 중요한건 2번째 인자값으로 조건문에 해당한다. =FILTER(직원!..

개인적으로 엑셀을 복잡하게 쓰는일이 적고, 오히려 구글시트를 주로 쓰게되는 경우가 많았다. 구글 시트에서는 다른 파일의 시트내용을 IMPORTRANGE 라는 함수로 쉽게 가져오는 방법이 존재했다. 그런데, sharepoint 를 통한 엑셀을 사용하다가 그러면 엑셀에서는 외부 시트의 데이터를 어떻게 가져올 수 있지? 하고 삽질을 했는데 뚜렷한 방법이 안나와서 헤맸는데 결국은 방법을 찾았다. 해결방법 : 외부 시트 참조하는법 결론부터 말하면 매우 쉽다. 파일명을 [] 로 감싸고, 그 뒤에 참조할 시트명을 넣어주고 '' 로 감쌓은후, 시트 시작과 종료열을 적으면 된다. 원래는 파일명을 풀경로로 적어줘야하는데, 작업중인 파일이 같은 경로에 존재한다면 경로를 생략하고 파일명만 넣어주면 알아서 풀경로를 채워주고, ..

개인적으로는 엑셀보다는 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..