개발
Linux03 :: bash, update, cat
Linux03 :: bash, update, cat
2020.08.21ㅡ. #! /bin/bash 쉘 스크립트 작성시에 첫 라인에 #! /bin/bash를 기재합니다. 이 의미는 스크립트 파일을 bash shell로 실행시킨다는 의미입니다. e.g)tcsh로 실행시킨다. #! /bin/tcsh 로 시작 또다른 의미는 !/bin/bash 로 지정해서 다른 쉘 간의 오류를 방지합니다. ㅡ. apt-get update 사용 가능한 패키지와 그 버전들의 리스트를 업데이트 합니다. 최신 버전 패키지 확인해서 우분투내에 알려주는 역할을 수행합니다. cat 다음에 EOF > > EOF
데이터 스튜디오 이용해 bigQuery 시각화
데이터 스튜디오 이용해 bigQuery 시각화
2020.08.20dataStudio 가 bigQuery에 접근할 때 bigQuery connector 를 사용하게 됩니다. 이후에 약관동에에 대해서 전부 동의해줍니다. 보고서에 데이터를 추가하고, 검색어에 bigQuery를 입력합니다. 권한에 대해 승인하고 [Project선택] - [Public Dataset 선택] - [tableset 선택] 이후 보고서에 데이터를 추가합니다. natality에 대한 테이블 정보를 확인해보겠습니다. 레포트가 생성되면 데이터소스를 클릭해서 구글 docs에 나와있는 1단계는 모두 끝났습니다. ㅡ. 막대 그래프 생성하기 차트에서 막대그래프를 선택합니다. 이후에 측정기준에 source_year 을 찾고, 측정항목에 birth_count 를 생성 후 COUNT(is_male)을 입력하면 이와 ..
ISSUE11 :: google.api_core.exceptions.DeadlineExceeded: 504 Deadline Exceeded
ISSUE11 :: google.api_core.exceptions.DeadlineExceeded: 504 Deadline Exceeded
2020.08.20Google Cloud Pub/Sub 을 쓰다가 해당 이슈를 만났다. 나는 PipelineOptions 에다 return_immediately=True 옵션을 주었다. 우선은 publisher 에서 topic으로 message를 전송할때 dataflow에서 pub/sub을 잘 읽어오긴한다.. *ref : https://github.com/googleapis/python-pubsub/issues/36 google.api_core.exceptions.DeadlineExceeded: 504 Deadline Exceeded · Issue #36 · googleapis/python-pubsub Hi We are using google pub sub api for implementing the publisher /..
GCP15 :: Apache-Beam ParDo
GCP15 :: Apache-Beam ParDo
2020.08.20최근에 로컬에서 환경과 클라우드 환경에서의 결과값이 다르게 나와서 stackoverflow 에 질문을 올린적이 있다. https://stackoverflow.com/questions/63460701/in-the-local-environment-the-result-value-and-the-dataflow-result-values-are-di/63465435?noredirect=1#comment112262586_63465435 In the local environment, the result value and the dataflow result values are different Here is my input data. ㅡ.Input(Local) 'Iot,c c++ python,2015', 'Web,jav..
알고리즘94 :: BOJ_1012_유기농배추
알고리즘94 :: BOJ_1012_유기농배추
2020.08.191 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 package backjun; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class backjun_1012_유기농배추 { static int[][] map; static int[] dx= {-1,1,0,0}; stat..
GCP12 :: Apache Beam, Map() vs FlatMap()
GCP12 :: Apache Beam, Map() vs FlatMap()
2020.08.15ㅡ. Map() vs FlatMap() Map() 에서는 Input 과 Output 이 일대일 관계로 나타나 있습니다. FlatMap() 에서는 Input 에 대해 여러개의 출력을 반환할 수 있습니다. 또한, FlatMap() 과 함께 사용되는 yield 키워드는 더이상 반환할 데이터가 없을 때까지 한번, 하나 데이터를 반환하게 됩니다. 위 메소드는 병렬처리할 때 방법이 서로 다릅니다.
GCP11 :: Google Cloud Platform 명령어 정리
GCP11 :: Google Cloud Platform 명령어 정리
2020.08.15Google Cloud Platform 관련 실습을 진행하다 모르는 명령어 관련 정리 하고자 합니다. 1) bq mk flights bq 명령줄 도구를 사용해서 쿼리를 실행하고 데이터를 로드할 수 있습니다. e.g) bq mk new_dataset or bq mk new_dataset.new_table --bq help CLI 명령어로 쳐보면 mk는 Create a dataset, table, view, or transfer configuration with this name 으로 설명되어 있습니다. --bq help load 에서 구체적인 스키마에 관련된 정보를 확인해볼 수 있습니다.
Python08 :: python csv format 만들기
Python08 :: python csv format 만들기
2020.08.15import io import csv output = io.StringIO() csvdata = [1,2,'abc market','hi everyone','common'] writer = csv.writer(output,quoting=csv.QUOTE_NONNUMERIC) writer.writerow(csvdata) print(type(output.getvalue())) print(output.getvalue()) result #str #1,2,"abc market","hi everyone","common"
GCP10 :: Dataflow 정리
GCP10 :: Dataflow 정리
2020.08.14ㅡ. Dataflow 란? Dataflow 란 무엇일까? 많은 데이터를 가져와서 (수 GB, 수 TB) 데이터와 결합 하여 의미 있는 데이터를 산출 하는 과정을 의미합니다. 배치 과정에서 위에서와 같이 말할 수 있지만 스트리밍 변환 과정도 존재합니다. 예를들어, 스트리밍 변환은 데이터가 도착할때 추가적인 데이터를 추가해서 반환한다던지, Filter 를 거쳐서 해당 데이터만 반환한다던지 특징이 있습니다. ㅡ. Apache Beam 이러한 로직들을 구현하게 도와주는것이 Apache Beam 에서 코드를 작성하면 됩니다. 그래서 Apache Beam으로 데이터 파이프라인을 구축하는 방법에 대해 알아야 합니다. Apache Beam에서 파이프라인은 상위 컨테이너(파이프라인) 파이프라인을 통해 흘러가는 데이터(P..
ISSUE10 :: line 91, in finish_bundle NameError: name 'beam' is not defined During handling of the above exception, another exception occurred:
ISSUE10 :: line 91, in finish_bundle NameError: name 'beam' is not defined During handling of the above exception, another exception occurred:
2020.08.14finish_bundle_outputs File "/Users/ㅁㅁㅁㅁ/PycharmProjects/apachebeam-dataflow-project/src/main.py", line 91, in finish_bundle NameError: name 'beam' is not defined During handling of the above exception, another exception occurred: Dataflow를 실행하는 과정에서 에러가 발생하였다. beam 이라고 정의되어 있는것이 없다고 나오는데 실제로 코드상에서는 import 한 상황이다. (import apache_beam as beam) 무엇이 이슈일까? stackoverflow 를 찾아보니 다음 해결책이 있었다. 1. apache-..
Python06 :: Python Project 구성하기
Python06 :: Python Project 구성하기
2020.08.14Python 코드를 작성하다가 프로젝트 구조를 어떻게 잡아야 할지 의문이 들어 포스팅 하게 되었습니다. ㅡ. 모듈 실질적으로 비즈니스를 수행하는 코드를 모듈 폴더에 두어 관리합니다. ㅡ. 라이선스 라이선스 문서 전문, 저작권이 포함되어야 하는 부분 입니다. ㅡ. requirements.txt 프로젝트 수행에 필요한 의존성을 명시하고 설치할 수 있도록 requirements.txt 에 명시합니다. ㅡ. docs 문서들을 명시합니다. ㅡ. 테스트 도구 테스트 수행에 필요한 Script 를 포함합니다. 모듈과 의존성이 있는것이 아니라 독립적으로 설정되어 실행될 수 있도록 해야 합니다. ㅡ. makeFile 프로젝트 관리하는데 유용한 작업들을 명시합니다. init : pip install -r requireme..
ISSUE09 :: Python ‘str’ object does not support item assignment solution
ISSUE09 :: Python ‘str’ object does not support item assignment solution
2020.08.14Python ‘str’ object does not support item assignment solution String immutable 하기 때문에 변경할 수 없습니다. An Example Scenario string = "aaaa" string[0] = "b" 이런 상황에서 발생하게 됩니다. 따라서, replace_string = "" 을 생성하고 The Solution string = "aaaa" replace_string = "" for i in range(len(string)) : if i==0 : replace_string+="b" else : replace_string+=string[i] print(replace_string) 이런식으로 사용합니다. Conclusion String은 변경..