반응형

분류 전체보기 134

Elasticsearch - 기본 구조

데이터 저장 공간: Index 인덱스 생성 하나의 물리적인 Index 여러 개의 논리적인 Index 검색 시 여러 개의 논리적인 인덱스를 동시에 검색할 수 있다. 인덱스 생성 시 분산 환경에 용이한 shard 세트를 생성 Kibana로 보는 인덱스 자동 생성 (product 환경에선 권장하지 않음) send fluent-logger-java message final FluentLogger LOG = new FluentLoggerFactory().getLogger(getClass().getName(), "localhost", 5005); public void sendLog() { LOG.log("forJava", Map.of("id", "ps!!!! 33", "name", "Awesome 33 ###", ..

ELK/Elasticsearch 2021.01.15

logstash input codec fluent - 예제

input fluent codec 테스트 하기 multi line을 하나의 출력으로 정의하는 형태에서 적합한 log 통합은 무엇인지 탐색하는 과정입니다. log info # ---------------------- log info # | id | ps | log info # | name | awesome | log info # ---------------------- 아래 표현이 현재 생각하고 있는 흐름입니다. apache -> filebeat -> java -> logstash -> elasticsearch -> kafka codec fluent type elastic stack logstach 공식 문서에선 codec fluent ruby를 예제로 보여주고 있는데요. 이걸 자바로 변경해서 사용해보았습..

ELK/Logstash 2021.01.14

docker hub 이미지 자동 빌드하기 - github push

안녕하세요. github에서 push하면 docker hub에서 이미지 자동으로 빌드하게 만드는 글입니다. 자동으로 이미지 빌드하면 뭐가 좋은가? 도커 환경일 경우에 좋습니다! 적어도 한 사이클마다 작업이 줄어들 수 있습니다. 1. aws와 gcp를 같이 배포할 일이 있다고 가정하였습니다. 한 리전에서 여러 인스턴스를 운영하는 상황이어도 위 내용과 같습니다. 2. nginx 하나씩 운영한다고 가정하고, 컨테이너를 매우 low하게 사용한다고 가정하였습니다. 3. 서버에 접속해서 vim으로 소스코드를 작성하는 상황은 배제하였습니다. 4. 도커를 사용하는 것을 가정하였습니다. nginx 소스를 cp하는 행위를 포함하는건 너무하니까요.. 물론 jenkins 같은 CI / CD가 기본이라고 생각합니다. 이때 작업..

Docker 2021.01.10

highcharts exports 한글로 변경하기

안녕하세요. highcharts print text 변경에 관한 글입니다. highcharts 유료 차트 라이브러리에는 차트를 이미지나 PDF로 출력할 수 있는 기능이 있습니다. 일반적으로 오른쪽 위에 위치한 세 줄 아이콘인데요. 영문을 한글로 변경한 결과입니다. Highcharts.setOptions({ lang: { thousandsSep: "," } , exporting: { menuItemDefinitions: { printChart: { text: "차트 인쇄", onclick: function () { this.print(); } }, downloadPNG: { text: "다운로드 PNG", onclick: function () { this.exportChart(); } } , downloa..

WEB 2021.01.08

Spark - RDD

RDD 읽기 전용으로 분할된 record의 모음 클러스터 노드들 간에 파티션된 엘리먼트의 컬렉션이며 분산 처리 단위는 파티션 scala, java, python 언어의 객체들을 포함 Transformation(중간), Action(종단)의 연산 Transformation - 중간 연산 현재의 RDD에서 새로운 RDD를 생성 변환 전 RDD 한 요소마다 처리하는 연산 method 명 설명 매개변수 비고 filter 조건에 부합하지 않는 요소는 버림 함수 map 요소를 가공 ex) 타입의 변환, toUpperCase ... 함수 flatMap 요소 가공 후 list 모음의 반환을 flatten 하게 반환 ex) [[1,2,3], [5,6,7], [8,9,0]] -> [1,2,3,5,6,7,8,9,0] 함수 ..

spark 2021.01.05

GCP VM 인스턴스 xshell로 접속하기

안녕하세요. GCP 인스턴스를 xshell로 접속하기 GCP와 jenkins 구축 과정에 포함되어 있지만, 별도 파트로 등록하였습니다. 먼저, Xshell은 개인 사용자 기준으로 무료로 이용할 수 있는 편리한 SSH 연결 프로그램입니다. Putty보다 편하기 때문에 저는 주로 xshell을 사용합니다. xshell로 GCP VM에 접근하는 과정을 매우 자세히 작성한 글입니다. 진행 흐름 VM 생성 xshell RSA 2048 키 생성 GCP 메타 데이터 > SSH + instance 정보 > SSH 등록 xshell로 접속 1. VM 생성 중요한 두 가지 정보입니다. 인스턴스 이름 외부 IP 2. RSA 키 생성 2-1. 연결 > 호스트 정보 입력 xshell에서 관리할 이름과 VM 외부 IP 이름: 사..

GCP 2021.01.04

아파치 스파크 첫 걸음

오픈소스 범용 분산 클러스터 컴퓨팅 프레임워크 인메모리 기반 대용량 고속 처리 엔진 클러스터 연산 플랫폼 인메모리 방식의 분산 처리 시스템 - 메모리에 분산 저장 및 병렬 처리 구조 스트리밍과 배치(일괄) 작업에서 높은 성능 구조 *SQL: SQL과 비슷한 정형 데이터의 처리 기능 *Streaming: 실시간 데이터 처리 기능 *ML-lib: 머신러닝 라이브러리 GraphX: 그래프 프로그래밍 SparkR: R 프로그래밍 스파크 SQL은 구조적 데이터 처리에 초점을 두어, R과 파이썬 pandas의 DataFrame을 사용한다. 지원하는 인터페이스 JSON HDFS 아파치 하이브 JDBC 아파치 ORC 아파치 파케이 Parquet (열 지향 데이터 스토리지 형식) 스파크 코어 전체 기초가 되는 기초 분산..

spark 2021.01.04

배열 값에 존재하는 column 필터하기: pandas

안녕하세요. pandas.DataFrame을 사용할 때 꼭 필요한 기능 중 하나가 `필터`라고 생각하는데요. 필터의 역할을 하는 작업 중 pd.DataFrame.isin() 사용 방법에 대한 글입니다. 데이터는 SK HUB의 오픈 데이터 중 통화 데이터입니다. 문법 filter_list = ['2020-01-01','2019-10-01'] # 추출하고 싶은 컬럼 filtering = t_df['일자'].isin(filter_list) # filtering 생성 True or False t_df[filtering] # target DataFrame에서 추출하기 데이터 생성 # sample data columns = ['일자(YYYYMMDD)', '연령', '성별', '발신지', '대분류', '중분류', '..

Python 2021.01.04

seaborn x의 정렬이 안될 때 - YYYYMMDD의 dtype

안녕하세요. pandas에서 정렬해서 seaborn에 입력했는데 `정렬이 잘못 적용되고 있다` 이번 글은 python pandas의 int64 타입과 seaborn.barplot과 관련된 글입니다. 데이터 타입(Dtype)을 인지하자 언급되는 기술 pandas seaborn.barplot 데이터엔 무엇이 있는지 EDA를 진행하던 중에 겪은 내용입니다. 결론은 원시 데이터를 전처리 후 저장하고, 저장한 데이터를 다시 호출하는 과정에서 발생하는 형변환입니다. 처음 데이터를 가공했을 때 object 타입이었으나, 저장과 호출을 반복하는 과정에서 int64타입으로 바뀌는 현상 숫자 형태의 값만 있을 경우 csv 파일로 저장 및 불러오기에서 int로 변환된다. seaborn에서 정렬 barplot 함수를 사용할 ..

Python/시각화 2021.01.03
반응형