Programming/JAVA(19)
-
kibana 단축 url 만들기
kibana url을 공유할 때면 url이 너무 크고 복잡해서 읽기도 힘들고 어렵다. 그래서 찾아본 결과 아래의 형태의 단축 url을 만들수가 있다. https://test-kibana.com/goto/241148663024b73eb8119de13732df6 방법은 의외로 너무나 간단하다. 일단 kibana를 열고 왼쪽 상단의 menu 중 share 메뉴를 클릭한다. share 버튼을 클릭하면 아래와 같은 창이 생성되는데 여기서 short url 버튼을 enable 시켜주면 kibana 단축 url이 생성된다.
2024.02.07 -
Elastic search 모든 데이터 가져오기
Elastic search의 경우 각각의 shard에서 데이터들을 저장하고 있고, 검색 시 각 shard 들로부터 데이터를 모은 후 정렬해서 결과를 뿌려주는 방식으로 검색이 제공된다. 이렇게 모은 후 정렬해서 결과를 뿌려주기 때문에 더 큰 사이즈 혹은 더 많은 사이즈의 요청 시 해당 결과를 못 주는 경우가 있다. 다시 간단히 설명하자면, 내가 만약 10000개의 데이터를 Elastic search에 요청하게 되면, 각 shard에서는 10000개씩 데이터를 가져오게 되고, 10000개씩 모든 데이터(예를 들어 shard가 5개라면 50000개)를 정렬 후에 10000를 추린 후 결과를 주게된다. 결과적으로 from, size 등을 통해 es에서 모든 데이터를 가져오려고 시도하게 되면, 10000건 이전까..
2021.11.14 -
키바나에 이미지 표시하기. (링크 달기)
es에 있는 데이터를 키바나를 통해 많이 확인하곤 한다. 하지만 가끔씩 키바나로 보는 데이터가 불편할 때가 있다. 첫 번째 예로 이미지 데이터의 경우 키바나에서 렌더링 결과를 뿌려주면 데이터 확인이 더 쉬울 것 같은데 해당 기능을 찾지 못해서 매번 이미지 주소 클릭 후에 이미지를 확인하곤 했었다. 두 번째 불편함은 url 주소가 있는 경우 링크를 클릭하면 해당 페이지로 렌더하면 편한데 그게 안되서 복사한 후 브라우저에 붙여서 확인하는 점이 불편했다. 이 포스팅에서는 위 두 가지 불편함을 해소할 수 있는 키바나 기능에 대해 알아보고자 한다. 우선 kibana의 왼쪽 메뉴에 있는 management를 클릭한다. management를 클릭 후 오른쪽 화면에서 변경하고자 하는 index name을 선택 한다. ..
2021.10.18 -
BloomFilter를 이용해서 데이터 찾기.
map-reduce, 혹은 spark를 사용함에 있어서 가장 비용을 많이 차지하는 부분은 map-reduce의 reduce, spark에서는 join 부분일 것이다.join을 할때는 되도록 데이터 셋을 최대한 줄인 후에 join을 하는 게 가장 바람직하다. 만약에 실제 내가 사용할 데이터는 2억건인데 input으로 들어온 데이터가 400억 건이면 400억 건에 대해 일단 2억건으로 줄인 후 join을 진행하는게 맞다. 그럼 400억 건을 2억건으로 어떻게 줄일까?? 물론 2억건을 메모리로 다 올린 후에 for문으로 찾아도 된다. 그러나 지금 설명하려고 하는 내용은 bloomFilter를 활용해서 데이터를 줄이는 방법을 말하려고 한다. 일단 BloomFilter에 대해 간략히 설명하자면, 해시 테이블을 활..
2018.10.30 -
hadoop guava 버전 충돌
maven guava 버전을 20.0으로 올리고 map reduce 작업을 돌리는데 자꾸 이전 버전을 타는 문제가 발생했다. 문제는 정확히 아래와 같다. 목표는 입력 url에서 top Domain을 뽑아내기 위함임.top Domain을 뽑기 위해서 guava의 아래의 함수를 사용함. InternetDomainName.from(host_url).topPrivateDomain().toString(); 하지만 위의 함수를 map reduce를 통해 돌릴 경우 InternetDomainName{name="domain"} 이런 식으로 객체가 리턴이 됨. 아무래도 hadoop의 lib와 dependency lib가 서로 충돌이 일어나서 dependency lib를 못 타는 것 같았다. 이를 해결 하기 위해 mave..
2018.05.28 -
maven에 custom jar를 집어넣어 보자.
IntelliJ 환경에서 build를 하면 별로 고민을 안해도 되지만 리눅스 환경에서 maven build를 해야되는 경우 custom jar 파일을 pom.xml 파일에 추가시켜 줘야 maven build시 인식이 된다. 대략적으로 설명을 하자면, 개인 로컬 repository를 만들고 해당 repository를 pom.xml에 등록한다.그 후 dependency를 추가해 준다.이렇게 하면 custom jar 파일을 pom.xml에서 인식할 수 있고 쉽게 maven build를 실행할 수 있다. 개인 로컬 repository는 아래처럼 pom.xml에 추가하자. localrepository file://${basedir}/repo url 항목을 보면 jar 라이브러리 파일 경로를 입력하는 것을 확인해 ..
2018.03.06