본문 바로가기

전체 글

(38)
카니발R 비교 카니발R은 2010~2014년에 나온 차이다 차박캠핑으로 소문이 자자해서 관심이갔다. 올란도도 많이 찾아봤었지만, 쉐보레가 수리비가 비싸고 올란도가 단종되어 유지보수가 어려워질 거라 하길래 접었다. ☆ 알아보다가 제일 관심이 간 건 올뉴카니발 9인승 리무진 매직스페이스이었는데, 무리하지 않는게 나을거 같아서 포기했다. 카니발R은 9인승과 11인승이 있다 처음 검색할 땐 헷갈린다.유투버들은 11인승, 9인승 리무진이라고 말하는데, 엔카에서 검색해보면 이게 어떤 모델인지 찾기가 좀 어려웠다. 9인승, 11인승으로 이라는 단어로 분류되지 않는다. - 뉴카니발은 뭐고 올더뉴카니발은 다른건가 같은건가? - 내가 보고있는건 카니발R인데, 그랜드카니발 뉴카니발은 또 뭐지? - 카니발R 9인승 리무진은 도대체 어디있지..
모란역에서 김포공항 제주도 가는데 걸리는 시간 목표다음엔 한 시간 더 자기 위해 기록을 남겨보기 요약- 공항버스를 탈거라면 예약하자 - 모란역에서 탄 공항버스는 55분만에 김포공항 도착 - 체크인 오래 걸릴 줄 알았으나 즉시발급 - 체크인 후 검색대를 통과하고 느릿느릿 제일끝 탑승구 가는시간 단 20분 - 일찍 와버려서 대기시간 1시간 45분 ㅠ? 해외여행 갈때처럼 오래 걸릴까봐 서둘렀는데 그럴필요 없었다 기록4시 기상 준비해둔 짐을 싸고 공항버스 타러 이동 모란역 5번출구 바로 뒤편에 공항버스 정류소가 있다.김포공항행 4시35분버스를 탔다. 보이는 사람을 다 태우면 시간이 안지나도 가는 것 같다. 공항버스는 미리 예약할 수 있다. 몰랐는데, 자리가 부족하지 않아서 다행이다. 5시 30분에 김포공항에 도착했다. 체크인 하는 곳이 가까이 있다. 제주항..
elasticsearch 저장 Query DSL(domain specific language) - filter context : 문서와 일치하는가 질의, 정확한 검색, 캐시됨 -- bool의 filter와 must_not -- constant_score의 filter -- filter aggregation -- // term, range - query context : 문서와 얼마나 잘 일치하는가 + score 계산, 유사 검색 -- query 파라미터 (must, should, query, bool) function_score : 가산점을 수정, 누적할 수 있다. ex) 최근 등록한 상품에 더 높은 점수 multi_match : 여러 필드에 가점 ex) 제목 + 태그 등 동시 검색 - 필드별로 가산점비율 조정 가능 ex) ["fie..
athena test table 적당히 테스트값을 입력하고 함수를 실행해볼 테이블을 만든다 select cast(splited_str as int) as number_column from unnest(split('1,2,3,4', ',')) s(splited_str)
remove accents in athena query 연관검색어 생성 로직을 만들면서 athena와 mysql을 섞어썼는데, 과정에서 생각하지 못한 에러가 발생했다. mysql varchar에서 영어 accent를 구분하지 않아서, athena에서 가져온 값과 어긋나는 것이었다. 연관검색어를 추천할때 알파벳에 accent가 붙어 있는지 없는지는 중요하지 않았기 때문에 accent는 없애기로 했다. accent를 없애면서 normalize라는 것을 알게됐는데, 이것은 한글을 초성,중성,종성으로 분리하는데에도 써먹을 수 있었다. SELECT NORMALIZE(REGEXP_REPLACE(NORMALIZE('á, é, í, ó, ú, ü, ñ', NFD), '[\u0300-\u036f]', ''), NFC)
[athena] split string into array string to array SELECT regexp_split('abcd', '') array to string SELECT array_join(regexp_split('abcd', ''), ' ')
[python] boto3 athena 실행 boto3 아테나 클라이언트에서 start_query_execution를 실행하면, 쿼리를 시작하고 끝나지 않아도 바로 response가 되돌아온다. QueryExecutionId로 쿼리 진행상태를 확인하고 다음 과정을 이어간다. 아래 함수는 CREATE TABLE, DROP TABLE을 할때 쓸 수 있는 함수이다. (SELECT 등은 고려되지 않음) - Rate exceeded : 너무 많은 요청을 했을때 메시지이므로 쉬어간다. - Could not find results : DROP TABLE을 실행 - Query has not yet finished : 쿼리가 끝나지 않았으므로 기다린다. import boto3 client = boto3.client('athena') def athena_query(..
[airflow] argument 전달 1. 직접 trigger할때 dag_run 입력 airflow ui를 통해서 인자를 전달할 수 있다. json 으로 입력해야 하며, opreator에 provide_context=True로 옵션을 주면 함수에 전달된다. def print_test0(**context): dag_run: DagRun = context['dag_run'] print(dag_run.conf[name]) t0 = PythonOperator( task_id='print_test0', python_callable=print_test0, execution_timeout=timedelta(minutes=2), provide_context=True, dag=dag ) 2. default 값 입력 def print_test1(*op_arg..