목록Druid (21)
인턴기록지
ewl_events_log 테이블의 데이터를 한꺼번에 넣기는 실패해서 나눠서 넣어야 한다. 년도 별로 넣어주자 { "type" : "index_parallel", "spec" : { "dataSchema" : { "dataSource" : "init_events_log", "timestampSpec": { "column": "event_time", "format": "auto" }, "dimensionsSpec": { "dimensionExclusions": [], "dimensions": [ "bcycl_no", "station_no", "event_type", "cleansing_done", "cleansing_result", "last_update_time" ] }, "metricsSpec": []..
Druid version = druid 0.19.0 드! 디! 어! postgresql 의 테이블의 데이터를 드루이드에 넣는 것을 할 수 있 게 되 었 다 ~ ~ ~~~ 개발서버의 도커에서 드루이드를 올려서 사용했다. 드루이드의 bin 파일이 아닌 src 소스 파일을 다운받아서 압축풀고 실행해 주었다. 도커에서 드루이드 실행방법은 밑과 같다. hklee@dar-dev-01:~/apache-druid-0.20.0-src$ cd distribution/ hklee@dar-dev-01:~/apache-druid-0.20.0-src/distribution$ ls asf-release-process-guide.md bin docker pom.xml src hklee@dar-dev-01:~/apache-druid-..
드루이드에 ingestion을 하는 명령어 /bin/post-index-task --file test-index.json --url http://localhost:8081 위의 post-index-task는 밑처럼 되어있다. #!/bin/bash -eu # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under th..
전처리가 끝난 데이터를 ewl_events_log 테이블에 넣어준다. 이 테이블의 데이터를 드루이드와 연결해서 가져오면 너무 좋지만 내 컴퓨터환경에서는 postgresql과 어딘가 아다리가 안맞아서 연결이 되지 않는다. 그러나 길리더님 환경에서는 올라감; 따라서 된다는 가정하에 sql문을 생각해보았다. 일단 초기에 지금까지 모은 데이터를 druid에 넣어준다. 매 달들어오는 데이터들을 append시켜주기 때문에 처음에 넣어준 데이터에 append해서 넣어준다. 위의 과정을 해주기 위해 일단 8월1일 pull한 것이라 생각하고 8월1일 00:19 분까지의 데이터들을 csv로 뽑아서 넣어줬다. 드루이드의 장점인가? 400만개 정도 ingestion하는데 1분? 안쪽으로 밖에 걸리지 않았다. [root@loc..
(druid 0.19.0) 드루이드 다큐먼트는 json파일 포맷으로만 예시가 들어있어 csv file을 ingestion 할때 매우 애먹었다. parser를 spec과 firehose spec , inputFormat 여러가지 설명들이 있어지만 이것들을 조합해서 사용한 전체적인 예시가 없어서 조금만 틀려도 ingestion failed 가 떳기 때문에 상당히 힘들었다. 해결책은 매우 간단했다. inputFormat 하나만 작성해주면 (parse이런거 신경 쓸거 없이) 알아서 촥촥 들어간다. 드루이드 다큐먼트를 보면 이런 식으로 예제가 나와있다. 나도 예제처럼 columns 를 입력해서 해주었지만 잘 되지 않았다. 결국 columns를 적는 대신에 findColumnsFromHeader 를 사용해주었다. ..
공유폴더 1. 게스트 확장자 삽입 2. dhclient - 임시 ip받기 3. yum update 4. yum install gcc kernel-devel kernel-headers dkms make bzip2 perl 5. mkdir media/cdrom 6. (root에서) mount dev/cdrom media/cdrom 7. cd media/cdrom/VBoxLinuxAdditions.run reboot 8. mkdir tmp/shared 9. mount -t vboxsf shared tmp/shared jdk8설치 rpm -ivh jdk---------- 환경변수 설정 which javac 경로 readlink -f usr/bin/javac 출력된 경로에서 /bin/javac빼고 vi etc/p..
2to3 를 이용하면 python2코드에서 고쳐야 할 부분을 알려준다고 한다! 일단 저것을 이용할려면 yum install python-tools which 2to3 2to3 quickstart/tutorial/post-index-task-main.py --- quickstart/tutorial/post-index-task-main.py (original) +++ quickstart/tutorial/post-index-task-main.py (refactored) @@ -5,7 +5,7 @@ import re import sys import time -import urllib +import urllib.request, urllib.parse, urllib.error from urllib.parse imp..
bin/post-index-task --file quickstart/tutorial/compact.json --url http://localhost:8081 위의 명령어를 수행하는 post - index - task 파일을 수행하는 main파일을 분석해보았다. 메인함수 def main(): parser = argparse.ArgumentParser(description='Post Druid indexing tasks.') parser.add_argument('--url', '-u', metavar='url', type=str, default='http://localhost:8090/', help='Druid Overlord url') parser.add_argument('--coordinator-url'..