본문 바로가기

분류 전체보기

(152)
[Sqoop] Warehouse / Target Dir [ Warehouse / Target Dir ] Warehouse Dir 기본적으로, Sqoop 명령어의 결과는 warehouse dir에 저장이 된다. Table이름으로 Sub - Directory가 생성된다. sqoop import \ > --connect jdbc:mysql://localhost:3306/retail_db \ > --username root \ > --password admin123 \ > --table customers \ > --warehouse-dir /user/new-warehouse-dir Target Dir -target-dir라는 명령어를 사용하면 Sqoop의 아웃풋을 다른 곳(Specific)으로 리다이렉트 시킬 수 있으며, Sub-Dir는 생성되지 않는다. sqoop..
[Sqoop] Sqoop-Intro [Apache Sqoop이란 무엇인가] GitHub - apache/sqoop: Mirror of Apache Sqoop Mirror of Apache Sqoop. Contribute to apache/sqoop development by creating an account on GitHub. github.com BigData Ingesion에서 대표적으로 사용하는 툴 중에 Apach sqoop이 있다. 데이터 파이프라인을 만들어보면서 Sqoop을 접할 기회가 꽤 있었는데, 이번에는 Sqoop에 대해 정리하고자 한다. 스쿱은 클라우데라에서 개발했으며, 현재 아파치 오픈소스 프로젝트로 공개되어 있다. 간단하게 핵심만 말하자면, 스쿱(sqoop)은 관계형 데이터베이스와 하둡 에코시스템 간의 데이터 변환을 가..
[AWS EC2 + Docker + Jenkins ] FastAPI 배포 자동화 [AWS EC2 + Docker + Jenkins ] Spring Boot 배포 자동화 - Jenkins 설치 [ 시작하며.. ] 언제 한번 쭉 정리할까 고민이였는데, 마침 배포 자동화를 할 일이 생겨서 기록으로 남기기로 한다. 한번 해보고 나면 과정은 그렇게 어렵지 않다. PC와 깃헙(혹은 깃랩 등)에서 작 buildabetterworld.tistory.com [FastAPI 배포] EC2에 docker, docker-compose, jenkins 를 설치하는 과정은 이전과 동일하다. 다만 이번에는 새로운 커밋이 발생하면-> 이미지를 빌드해서 허브에 올리고 -> 허브에서 다시 해당 이미지를 당겨와서 -> compose로 실행하는 형태이다. 사실 Spring-boot를 배포 자동화 할 때랑 별 차이가 없..
[FastAPI] 추천시스템 프로젝트의 시작 [프로젝트 : 사용자 텍스트 기반 이미지, 음악 추천 시스템] 이번에 새로운 추천시스템 프로젝트를 시작하기로 했다. 사용자 텍스트 기반으로 이미지, 음악 추천 시스템을 제작하는 것이 목표이다. 아마 분산처리 아키텍처와 벡엔드 서버를 구성하는 것, 그리고 전반적인 자연어처리 모델링이 내 역할이 될 것 같다. 사실 어설프게만 알지, 서비스에 직접 적용할 정도로 각각의 프로덕트를 만져본 경험은 없다. 따라서 서비스에 적용가능한 수준으로 지식을 쌓고, 결과물을 도출해 내는 것이 개인적인 목표이다. 6주간의 프로젝트를 진행하면서 얻어가고 싶은 것은 심플하다. 분산처리시스템을 직접 구축해 본다. (Hadoop, Spark, Kafka) 새롭게 각광받고 있는 Fast-API를 공부해보고 프로젝트에 적용시킨다. [시작..
[Hadoop/기록] 7. Hadoop map-reduce (WordCount / Java) Apache Hadoop 3.3.1 – MapReduce Tutorial hadoop.apache.org --> [map-reduce 예제 실행과정]1. Hadoop home을 기준으로, 데이터를 넣을 input 폴더를 생성하고, 폴더안에 리눅스 시스템에 있던 아무 텍스트파일이나 집어넣는다.  예제는 wordcount이므로, 나는 NOTICE.txt 파일을 사용했다.  2. 하둡 폴더에는 share/hadoop/mapreduce 폴더로 들어가면 다음과 같이 다양한 예제파일들, 정확히는 Jar 실행파일 들을 확인할 수 있다. 그중에서 hadoop-mapreduce-examples-3.2.2 파일을 실행시켜보자. 커맨드는 다음과 같다.  그러면 내부에 Sourc..
[Hadoop/기록] 6. Hadoop Read/Write Architecture [Read/Write Architecture] Read Architecture는 Write Architecture의 반대로 흘러가는 개념이므로, Write Architecture 중심으로 기록하도록 한다. (깊이 공부해보고 작성한것이 아님을 감안!!) 아래 그림은 Hadoop에 Write 과정을 나타내는 다이어그램이다. 언어는 크게 중요한 부분이 아니므로 대략적인 흐름을 기억하려 한다. 먼저 기록하려는 파일이 있다고 가정해본다. 이 파일은 크기가 256MB이하라서 2개의 128MB의 Block으로 나누어진다. 이를 block a, b라고 하자. Application은 요청(file write request')을 통해 HDFS Client로 파일을 쓰겠다고 말한다. HDFS Client은 write req..
[Hadoop/기록] 5. Hadoop Architectures 훑기 [HDFS v1.x ~ v3.x Architecture] HDFS ver1.0 이던 시절, 당시의 HDFS의 구조는 위와 같다. Dataflow를 간단히 설명하자면 다음과 같다. 1. 요청이 HDFS Client로 들어온다 -> 2. HDFS Client는 namenode에서 파일에 대한 메타데이터를 불러온다. 이때 메타데이터는 namespace, filename을 의미한다. -> 3. HDFS는 이 정보를 바탕으로 데이터 노드에서 읽어내고자 하는 데이터를 읽어낸다. -> 4. 만약 namenode가 수정되면 secondary node의 edit file을 수정한다. 모든 시스템은, 발생한 문제를 해결하고 고도화 하는 과정에서 발전하기 마련이다. HDFS 1.0버전에서 발생한 주된 문제중 하나는 Sing..
[Hadoop/기록] 4. 하둡 User Common commands user-commands [user-commands] 하둡의 common-commands 는 user-command와 administrator-command로 나뉘어진다. 그 중 사용자 명령어인 user-command에 대한 기록이다. 마찬가지 특별하지 않은 cmd는 별다른 코멘트를 달지 않았다. (archive) : 파일 시스템 디렉토리를 위해 로드맵을 그린다. *.har파일로 압축되며, 메타데이터와 데이터 파일들을 가지고 있다. 하둡 HDFS는 작은 사이즈의 파일이 많아지면 네임노드에서 이를 관리하는데 어려움이 발생한다. 따라서 블록사이즈 정도로 파일을 유지해주는 것이 좋은데, 이를 위해서 하둡은 파일을 묶어서 관리하고, 사용할 수 있는 하둡 아카이브를 제공한다. hadoop archive -arch..
[Hadoop/기록] 3. Linux -> Hadoop 데이터 적재 과정(fs cmd 복습) [1. Hadoop 환경변수 재설정] java, hadoop native [2. Hadoop에 데이터를 저장할 폴더 생성] 이 과정에서 찝찝한 warning 하나를 잡고 넘어갔다. WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 라는 에러가 발생하는 경우, 위의 사진에서 HADOOP_OPT 부분을 추가적으로 입력해 준다. -> 64bit Linux에서 32bit Hadoop을 실행하면 발생할 수 있다고 한다. [3. put 명령어로 옮기고 싶은 파일을 하둡의 생성한 폴더로 옮김] 현 시점이 접근허가가 제외된 놈들을 빼고 이..
[Hadoop/기록] 2. 하둡 File-System Shell commands Hadoop File-System commands [초기 실행] dfs, yarn을 실행시켜준다. hadoop의 fs command에 익숙해지기 위한 연습이며, 리눅스와 유사한 커맨드는 구체적인 설명을 생략했다. sbin/start-dfs.sh sbin/start-yarn.sh [Hadoop FS Shell Commands] linux에서 통상적으로 쓰이는 쉘 커맨드랑 굉장히 유사하다. 하지만 하둡의 루트 디렉토리에서 반드시 실행시켜야 한다! (ls) hadoop fs -ls bin/hdfs dfs -ls (mkdir) hadoop fs -mkdir /user bin/hdfs dfs -mkdir /hdfs-user (touchz) bin/hdfs dfs -touchz /생성하고자 하는 경로/파일명 - h..