분류 전체보기 (24) 썸네일형 리스트형 VirtualBox & CentOS 7 다운로드와 설치 (수정: 용량 늘리기...) 📦VirtualBox 여러 OS를 가상화하여 사용할 수 있는 가상화 소프트웨어 https://www.centos.org/download/ Download Home Download Architectures Packages Others x86_64 RPMs Cloud | Containers | Vagrant ARM64 (aarch64) RPMs Cloud | Containers | Vagrant IBM Power BE (ppc64) RPMs Cloud | Containers | Vagrant IBM Power (ppc64le) RPMs Cloud | Containers | Vagrant ARM32 (armhf www.centos.org https://www.virtualbox.org/wiki/Download.. API 데이터 적재 연습하기 03_Open API 호출한 데이터 DB적재 후 수정하기 📖 API 데이터 적재 시나리오 1. API로 수집하여 FTP 서버 /nifi_dataset/api_dataset 에 적재한 데이터를 get 하기 2. json포맷의 데이터를 csv로 변환 3. 레코드 건수 추출 4. 추출한 레코드 건수를 data_co 컬럼에, 20230215 값이 load_de 컬럼에 들어가도록 하여 postgres 데이터베이스 내 nifi 스키마의 lfr_price_rate_year 테이블에 적재 5. 레코드 적재 후 level_no 컬럼의 값이 1인 데이터만 load_de 컬럼의 값을 0으로 업데이트 실행 된 Flow 적재된 br_20230215.json 파일을 불러온다. GetFTP 프로세스를 사용해서 파일을 불러온다. ConvertRecord를 사용해서 json파일을 읽어와서 .. API 데이터 수집 연습하기 03_Open API 호출하여 데이터 수집 📖 API 데이터 수집 시나리오 1. 공공데이터포털 DATA.GO.KR 가입 후 https://www.data.go.kr/tcs/dss/selectApiDataDetailView.do?publicDataPk=15098962 (한국부동산원_전국지가변동률조사 통계 조회 서비스) Open API 활용신청 후 인증키 발급 2. 파일포맷은 JSON, 1페이지에 페이지당 건수를 100건으로 설정하여 API 호출. 3. 호출한 API데이터에서 data 부분만 추출 4. 수집 및 추출한 데이터의 이름을 이니셜_20230215.json으로 변경 후 FTP서버의 /nifi_data/api_dataset 하위에 저장 공공데이터 포털 회원가입 링크 https://www.data.go.kr/ 공공데이터 포털 국가에서 보유하고 .. 정형 데이터 적재 연습하기 02 📖 정형 데이터 적재 시나리오 02 1. FTP 서버의 /nifi_data/raw_dataset 디렉토리에서 이니셜_20161231.csv 데이터파일을 로컬 NiFi로 수집 2. 레코드 건수 측정 3. 오늘날짜 (년도4자리월일 YYYYMMDD) 형태로 time 이름의 속성 생성 3. 레코드의 컬럼 중 구분, 국가명, 진출지역, 회사명(국문), 회사명(영문), 진출년도, 업종1 컬럼 추출 + 위에서 측정한 레코드 건수를 데이터 건수 (data_co) 컬럼에 넣기 + time 속성의 값을 적재일자(load_de)컬럼에 넣기 3번 항목에 대한 힌트) SELECT ......... '${속성명}' AS "추가할컬럼명", ....... FROM flowfile 3번 항목의 추출대상 컬럼은 ovs_expns_kor.. 정형 데이터 적재 연습하기 01 📖 정형 데이터 적재 시나리오 01 1. FTP 서버의 /nifi_data/raw_dataset 디렉터리에서 이니셜_business_data_20230213.csv 데이터파일을 로컬 NiFi로 수집 [ FTP 서버 연결정보 ] HOST : Host번호 PORT : 21 ID : 서버ID PW : 서버 PW 2. 레코드 건수 측정 3. 레코드의 칼럼명을 서버 DB postgresql의 postgres DB nifi 스키마 내의 business_dist_data 테이블에 맞게 변경 4. 서버DB postgresql DB nifi 스키마 내의 business_dist_data 테이블에 레코드 적재 [ DB 연결정보 ] HOST : Host번호 (서버 Host와 같음) PORT : DB Port번호 DB 명 :.. [NiFi] Window 환경에서 FTP서버에서 파일 옮길 때, 경로 인식 못한 경우 NiFi 연습중 발생한 에러입니다. window를 사용하여 현재 연습중인데, 오전부터 에러메세지가 떴습니다. FetchFTP를 사용하여 파일을 백업시켜 하위 폴더로 이동시킬 예정이였는데 에러로 인해 백업에 실패하였습니다. 대충 읽어 보아도 경로에 대한 메세지 같아서 경로 설정을 확인 해보았습니다. 속성 설정을 확인 해보니 설정은 제대로 되어있었습니다. NiFi Data Provenance를 확인해보니 경로 앞에 c드라이브가 잡혀있었습니다. 경로 설정시 FTP서버의 경로이므로 c드라이브가 붙을 수 없는데, 윈도우 버그로 추정됩니다! 리눅스를 사용하시는 팀원의 pc에서는 백업이 아주 잘 되었기 때문입니다...😂 [NiFi] An unexpected error has occurred An unexpected error has occurred { "servlet":"jerseySpring", "cause0":"java.lang.OutOfMemoryError: GC overhead limit exceeded", "message":"java.lang.OutOfMemoryError: GC overhead limit exceeded", "url":"/nifi-api/flow/process-groups/2b168e86-0186-1000-95a4-f04f38d0a76e", "status":"500" } NiFi로 DB에 데이터를 적재하는 과정에서 에러가 발생하였다. NiFi를 종료하고 다시 실행시켜도 같은 에러 메세지가 떠서, 구글에 검색해도 마땅한 검색 결과가 없었다. 이 에러 메세지는 메모리.. SQL 서브 쿼리 https://data-make.tistory.com/25 [SQL] 서브쿼리의 모든 것 - Sub Query, Inline View, Scalar, Multi Column 쿼리 안에 또 다른 쿼리 - Sub Query SELECT col1, (SELECT ...) -- 스칼라 서브쿼리(Scalar Sub Query): 하나의 컬럼처럼 사용 (표현 용도) FROM (SELECT ...) -- 인라인 뷰(Inline View): 하나의 테이블처럼 사용 (테이블 data-make.tistory.com NiFi Encoding 처리 파일을 불러올때는 잘 읽히지만, QueryRecord 프로세스에서 Write를 등록 했는데도 한글이 깨져보이고, 데이터를 읽어올 수 없었다. 확인해보니 encoding 설정을 안해두었기 때문이다. encoding 설정 # encoding utf-8 java.arg.8=-Dfile.encoding=UTF8 NiFi FTP 서버에 파일 보내기 FTP 서버에 Filezilla를 사용하여 파일을 옮기는 연습을 해보겠습니다. FTP 서버로 파일을 보내는 flow 입니다. PutFTP 프로세스를 생성하고 속성을 설정합니다. HostName : host번호 Port : 서버에 해당되는 포트번호 Remote Path : 경로 설정 (FileZilla에 Remotefile을 생성하여 경로룰 만들어두기) Use UTF-8 Encoding : 한글 설 Relationships 탭까지 설정해주면 완료 프로세스 설정 후 프로세스끼리 연결을 하고 실행 시켜줍니다. flow를 실행하고 FileZilla에 파일이 옮겨진것이 확인된 모습. 왼쪽은 내가 사용하고 있는 pc의 상태이고, 오른쪽은 FTP서버의 지정된 위치에 파일이 옮겨진 모습이다. 이전 1 2 3 다음