본문 바로가기

전체 글61

[ELK] Logstash를 이용해 Elasticsearch csv파일 import 안녕하세요 오늘은 저번 포스팅에서 설치한 ELK를 통해 실제 분석할 데이터를 적재하여 시각화하는 Process까지 진행하도록 하겠습니다. 우선 분석할 샘플 데이터가 필요하겠습니다. 저는 '서울시 자치구별 신호등 및 횡단보도 수량'(2022년 2월 25일 기준)을 준비하겠습니다. 파일을 다운받을 수 있는 링크는 아래와 같습니다. https://data.seoul.go.kr/dataList/OA-21237/F/1/datasetView.do 열린데이터광장 메인 데이터분류,데이터검색,데이터활용 data.seoul.go.kr csv파일의 형식은 다음과 같습니다. 여기서 주의해야 할 점은 지금의 csv파일을 그대로 적재하게 된다면 첫행의 '자치구', '횡단보도 개수', '신호등 개수'도 하나의 record로 인식하.. 2022. 3. 7.
[AWS] Python으로 AWS S3에 이미지 파일 업로드 python에서 AWS 객체 스토리지 서비스인 S3에 접근하여 로컬에 저장된 이미지 파일을 업로드하는 실습입니다. S3란? Amazon S3(Amazon Simple Storage Service)는 업계 최고의 확장성과 데이터 가용성 및 보안과 성능을 제공하는 객체 스토리지 서비스이다. 즉, 어떤 규모 어떤 사업의 고객이든 이 서비스를 사용하여 웹 사이트, 모바일 애플리케이션, 백업 및 복원, 아카이브, 엔터프라이즈 애플리케이션, IoT 디바이스, 빅데이터 분석 등과 같은 다양한 사용 사례에서 원하는 만큼의 데이터를 저장하고 보호할 수 있다. Amazon S3 작동 방식 S3는 데이터를 버킷 내의 객체로 저장하는 객체 스토리지 서비스다. 객체는 해당 파일을 설명하는 모든 메타데이터이다. S3에 데이터를 .. 2022. 3. 7.
[ELK] ELK 설치(Elasticsearch, Logstash, Kibana) ELK란? Logstash -> 데이터를 수집하여 변환한 후, Elasticsearch 같은 stash로 전송하는 데이터 처리 파이프라인. Elasticsearch -> 검색 및 분석 엔진. JSON 기반의 분산형 RESTFul 검색 엔진. Kibana -> Elasticsearch에서 차트와 그래프를 이용해 데이터 시각화를 가능하게 해주는 도구. ElasticSearch 설치 필자의 OS 환경 - CentOS Linux release 7.9.2009 (core) 64bit - openjdk version "1.8.0_292" ※ Elasticsearch는 최소 1.8이상의 JDK를 필요로 합니다. ( JDK 버전에 따른 호환성은 링크를 확인해주세요) - 다음의 명령어 또는 해당 홈페이지에서 설치파일을 .. 2022. 2. 11.
[Spark] Spark 개요, Spark란 무엇이고 어떤 역할을 하는가? Spark Core, Pandas와 비교 Spark를 공부하기에 앞서 선행 되면 좋을 법한 것들 1. 하둡과 빅데이터 개념 https://spidyweb.tistory.com/239?category=910416 [Hadoop] 하둡이란? 하둡 에코시스템이란? hadoop, hadoop eco-system 개념 1.Hadoop 이란? -하둡은 분산 데이터 처리의 공통 플랫폼입니다. -하둡을 3가지로 나눈다면 1) 데이터 저장의 분산 파일 시스템(Distributed file system) HDFS 2) 데이터 처리의 분산 데이터 처리(Distributed da. spidyweb.tistory.com 2. python 언어(+pandas library) 혹은 scala언어 스파크는 여러가지 언어를 지원하지만, scala와 python이 점유율이 높.. 2022. 2. 9.
[Spring boot] (2) Spring boot를 활용한 To do Application To do Application 아키텍처 Repository ORM부터 간단하게 알아보자 Object Relational Mapping은 객체가 테이블이 되도록 매핑시켜주는 프레임워크이다. ORM을 사용하면 SQL 쿼리를 메서드 호출로 대체할 수 있으며 데이터베이스 중심 설계의 단점을 개선하여 효율적으로 개발할 수 있다. 또한 DBMS에 대한 종속성이 줄어들어 프로그래머는 객체에만 집중하면 되고, DBMS를 교체하는 작업에도 적은 시간이 소요된다. ex) SELECT * FROM todo -> todo.findAll() package org.example.repository; import org.example.model.TodoEntity; import org.springframework.data.jpa.. 2022. 2. 8.
[Spring boot] (1) Spring boot를 활용한 To do Application Java의 기본적인 문법을 공부하고 간단한 toy project를 만들어보고 싶었다. 그러던 와중에 패스트캠퍼스 강의에서 spring boot를 활용해서 To do Application 강의가 있었다. 마침 공부해보고 싶은 프레임워크인 Spring boot와 공부했던 java로 기능 구현이 가능했고 무엇보다 많은 오픈소스와 최소한의 구현만으로 필요한 CRUD 기능을 공부할 수 있어서 To doApplication 프로젝트로 정했다. 본 포스팅은 패스트캠퍼스 강의를 참고하여 작성했습니다 필요 기능 Todo 리스트 목록에 아이템을 추가 Todo 리스트 목록 중 특정 아이템을 조회 Todo 리스트 전체 목록을 조회 Todo 리스트 목록 중 특정 아이템을 수정 Todo 리스트 목록 중 특정 아이템을 삭제 Tod.. 2022. 2. 8.
[Java] JVM (1) 일반적인 언어는 CPU 아키텍쳐와 플랫폼의 환경에 맞추어 기계어로 컴파일 됩니다. 그렇기 때문에 플랫폼이 변경되는 경우, 타겟 플랫폼에 알맞게 크로스 컴파일을 해주지 않는다면 제대로 동작하지 않을 수 있습니다. 자바의 경우는 CPU의 아키텍쳐와 플랫폼의 환경에 맞추는 것이 아닌 바이트코드라는 것으로 컴파일 됩니다. 바이트 코드로 컴파일된 결과물이 .class 파일 입니다. class 파일을 해석하고 실행하기 위해서는 반드시 자바 가상 머신 JVM이 필요합니다. 우리가 JDK 또는 JRE 를 설치하는 이유 입니다. 위 그림을 보면 JRE는 JVM을 포함하고 있고, JDK는 JRE를 포함하고 있습니다. 그렇기 때문에 Java 어플리케이션을 실행만 하기 위한 환경이라면 JDK를 설치할 필요는 없습니다. JVM.. 2022. 2. 8.
[ELK] 개념 정리 ELK(Elasticsearch, Logstash, Kibana)의 개념을 정리합니다. 1. ELK란? Logstash -> 데이터를 수집하여 변환한 후, Elasticsearch 같은 stash로 전송하는 데이터 처리 파이프라인. Elasticsearch -> 검색 및 분석 엔진. JSON 기반의 분산형 RESTFul 검색 엔진. Kibana -> Elasticsearch에서 차트와 그래프를 이용해 데이터 시각화를 가능하게 해주는 도구. 2. Elastic Stack란? 기존의 ELK 스택 + Beat => Elastic Stack 분산 환경 지원으로 여러곳의 데이터 소스로부터 동시에 데이터 수집 가능 Beats란? 단일 목적의 데이터 수집기 플랫폼으로 수백 수천개의 장비와 시스템으로부터 Logstas.. 2022. 1. 4.
[Jsoup] 웹 크롤링으로 원하는 값 추출하기 Toy프로젝트를 진행하며 웹사이트의 원하는 데이터를 가져와야 했습니다. 이번 포스팅은 Jsoup을 사용하며 웹페이지를 크롤링한 방법을 공유합니다. Jsoup? Selenium? Jsoup - 정적인 자료를 수집하는 경우에 주로 사용합니다. - 정적 데이터를 비교적 빠르게 수집할 수 있지만 브라우저가 아닌 HTTP Request를 사용하기 때문에 동적 데이터를 수집하기 위해서는 해당 서버의 인증키 요구 등 수집할 수 없는 경우가 많다. - 또한 동적인 기능을 지원하지 않는 경우가 많다. Selenium - 빅데이터 관련, 동적인 자료를 수집할 때 주로 사용한다. - Jsoup에 비해 속도는 느리지만 브라우저 드라이버를 사용하여 동적 데이터도 수집 가능하다. [개인 의견] 아직 Selenium을 사용해보지 .. 2021. 12. 28.
[ELK] 설치 3) Kibana ELK 설치의 마지막 'Kibana'입니다. 호다닥 끝내겠습니다 :) Kibana란? - Elasticsearch, Logstash로 수집된 데이터를 시각화 하는 '일종의 데이터 시각화 툴'입니다. Kibana 설치 직접 홈페이지에서 설치하거나, wget 명령어를 통해 설치 설치파일 다운로드 가능 다운로드 받은 rpm 파일을 설치 합니다. 설치가 완료되면 yml파일을 통해 포트를 수정합니다! server.port, server.host, elasticsearch.url 세 개의 항목을 다음과 같이 설정합니다. (※ 만일 외부에서 해당 서버 kibana에 접속이 필요한 경우 server.host를 0.0.0.0으로 설정해주세요) 전반적인 설정은 완료했습니다. 다음으로 방화벽을 오픈합니다. 방화벽까지 오픈했.. 2021. 12. 23.
[ELK] 설치 2) Logstash Logstash란? - 다양한 소스로부터 데이터를 수집하고 곧바로 전환하여 원하는 대상에 전송할 수 있도록 하는 경량의 오픈 소스 서버측 데이터 처리 파이프라인 Logstash 설치 logstash tar 설치파일 다운로드 압축해제 logstash또한 압축해제 만으로 설치가 완료 됐습니다. Logstash 테스트 압축해제한 파일 내의 logstash/bin 디렉토리로 이동하여 아래와 같이 명령을 실행합니다. - ./logstash -e 'input { stdin { } } output { stdout {} }' input { stdin { } } output { stdout {} } 의 뜻은 입력한대로 출력한다는 것입니다. 나중에는 tcp 통신을 통해 입력도 받고 필터를 사용하여 입력받은 데이터를 파싱하.. 2021. 12. 23.
[ELK] 설치 1) Elasticsearch ELK란? - 데이터 처리 관련 오픈소스 솔루션인 엘라스틱 서치, 로그스태시, 키바나를 같이 연동하여 사용한다는 의미 - ELK 혹은 ELK스택(ELK Stack), 엘라스틱 스택(Elastic Satck)으로 명명 Elasticsearch : 검색 및 분석 엔진 Logstash : 여러 소스에서 동시에 데이터를 수집하여 변환한 후 Elasticsearch 같은 'stash'로 전송하는 서버 사이드 데이터 처리 파이프라인 Kibana : 사용자가 Elasticsearch에서 차트와 그래프를 이용하는 시각화 도구 Elasticsearch 설치 - Elasticsearch는 JVM위에서 구동되기 때문에 JDK를 설치해야 합니다. - JDK는 1.8이상의 버전을 설치해야 합니다. (JDK 버전에 따른 호환성은.. 2021. 12. 22.
REST API REST의 정의 "Reprsentational State Transfer" 자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미한다. 1) 자원의 표현 자원 : 해당 소프트웨어가 관리하는 모든 것 EX) 문서, 그림, 데이터, 해당 소프트웨어 자체 등 자원의 표현 : 그 자원을 표현하기 위한 이름 EX) DB의 도시 정보가 자원일 때, 'gimpo'를 자원의 표현으로 정한다. 2) 정보 전달 데이터가 요청되어지는 시점에서 자원의 상태(정보)를 전달한다. JSON 또는 XML를 통해 데이터를 주고 받는 것이 일반적이다. JSON , XML의 특징 -데이터를 저장하기 전달하기 위해 고안되었다. -기계뿐만 아니라 사람도 쉽게 읽을 수 있다. -계층적인 데이터 구조를 가진.. 2021. 6. 30.
[Docker] 도커 개념 및 사용법 1.접속 -터미널에서 192.168.0.145 접속 -root계정 로그인 2.도커 이미지 생성 먼저 Docker Hub Web(https://hub.docker.com/) 에서 공식 레파지토리와, 누군가가 올려놓은 public repository에서 pull받고자하는 이미지를 찾는다. -docker images 명령어로 현재 이미지 리스트 조회 -docker pull [옵션][:태그명] ex) docker pull dhmk815/tibero:6.0.2 ※ 옵션 --automated=false : Automated Build만 표시 --no-trunc=false : 모든 결과를 다 표시 -s[--stars=n] : star 수가 n개 이상인 결과만 표시 리눅스 컨테이너를 기반으로 서비스를 패키징하고 배포하.. 2021. 6. 16.
[Docker] Docker환경에서 MSSQL설치하기 본 포스팅은 Docker환경에서의 MSSQL설치를 목표로 합니다. 들어가기전에 Docker란? - 도커(Docker)는 리눅스의 응용 프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 오픈 소스 프로젝트입니다. Docker의 주요 명령어 1. search (image 검색) #docker search mssql - Docker Hub로부터 사용가능한 image를 찾는 명령어 2. pull (image 다운로드) #docker pull mssql2019:latest - Docker Hub로부터 image를 다운받는 명령어 3. images (image 목록 출력) #docker images - 현재 Host PC에 다운 받아져있는 image들을 출력하는 명령어 4. run(컨테이너 생.. 2021. 6. 16.