전체 글
-
[spark]Exception in thread "main" java.net.BindException: Can't assign requested address: Service 'sparkDriver' failed after 16 retries! 에러ComputerScience/스파크 2020. 7. 20. 18:05
Exception in thread "main" java.net.BindException: Can't assign requested address: Service 'sparkDriver' failed after 16 retries! 이렇게 뜨는데. conf에 .set("spark.driver.bindAddress","127.0.0.1"); 를 추가해주면 해결된다.
-
[Spark] RDD의 Action 연산ComputerScience/스파크 2020. 7. 20. 18:04
이 장은 Java 8 버전 이상의 언어로 작성되었으며 가끔 Scala 언어를 사용합니다. Action 연산 RDD의 연산은 RDD가 RDD를 반환하는 트랜스포메이션 연산과 그 결괏값이 정수나 리스트, 맵 등의 RDD가 아닌 다른 타입을 반환하는 액션 연산으로 나누어져 있다. 이 장에서는 액션 연산을 알아보자. first first 연산은 RDD 요소 가운데 첫 번째 요소 하나를 돌려줍니다. 스파크 셸에서 작업할 때 트랜스포메이션의 수행 결과 등을 빠르게 확인하는 용도로 확인할 수 있습니다. 다음은 스칼라 언어의 예제이고 다른 언어의 경우도 동일한 방법을 사용합니다. val rdd = sc.parallelize(List(5,4,1)) val result = rdd.first println(result) 결..
-
[Spark] IntelliJ에서 lambda not supported at this language level '5'ComputerScience/스파크 2020. 7. 13. 15:12
maven으로 스파크 개발 중 IntelliJ환경에서 람다함수를 사용할 때 lambda not supported at this language level 5 와 같은 오류가 뜬다. 이는 1.8 미만에선 람다함수를 지원하지 않기 때문이다. IntelliJ 설정에서 바꿔줘도 개발자체가 maven 종속이라 안되나보다. 해결방법 pom.xml에 다음을 추가하고 빌드해준다. 바로 하위단계에 넣어주어야 한다. org.apache.maven.plugins maven-compiler-plugin 3.3 1.8 1.8
-
[Spark] 스파크컨텍스트 , RDD 생성ComputerScience/스파크 2020. 7. 13. 13:54
모든 코드는 8버전 이상의 Java입니다. 1. 스파크컨텍스트 생성 스파크 애플리케이션과 클러스터의 연결을 관리하는 객체로서 모든 스파크 애플리케이션은 반드시 스파크 컨텍스트를 생성해야 합니다. RDD를 비롯하여 스파크에서 사용하는 주요 객체는 스파크컨텍스트를 이용해 생성할 수 있습니다. SparkConf conf = new SparkConf().setMaster("local[*]").setAppName("RDDCreateSample"); JavaSparkContext sc = new JavaSparkContext(conf); 스파크컨텍스트를 생성할 때는 스파크 동작에 필요한 여러 설정 정보들을 지정할 수 있습니다. 이 중 클러스터 마스터 정보와 애플리케이션 이름은 반드시 지정해야하는 필수 정보이다. l..
-
'마이데이터'란 무엇일까?ComputerScience/Tech 2020. 7. 11. 22:25
마이데이터(MyData)(본인정보활용지원) 개별 기관이나 기업에 흩어져 있던 개인데이터를 개인이 직접 관리하고 활용할 수 있게 한 서비스. 마이데이터 사업은 개인신용정보 전송 요구권 행사에 따라 일정한 방식으로 본인의 정보를 통합해 제공, 금융상품 자문이나 자산관리서비스등을 제공한다. 오는 8월 5일 마이데이터 산업이 본격화됨에 따라 금융사들의 행보는 분주해지고 있다. 금융사 입장에서 마이데이터 산업은 기회자 위기이다. 자사 고객 데이터와 외부 데이터를 결합해 혁신적 서비스를 만들면 도약의 기회가 될 수 있다. 하지만, 핀테크 기업과도 경쟁해야 하는 상황이므로 경쟁이 치열해질 예정이다. 금융의 중심축이 은행에서 개인으로 이동하는 '대변혁'이 기대된다. 한편 마이데이터 사업 진출을 고려하는 기업들은 금융 ..
-
[React] componentDidMount(), setTimeout()ComputerScience/React 2020. 7. 11. 21:56
componentDidMount(){ setTimeout(() => { this.setState({isLoading : false}); }, 6000); } App 컴포넌트가 그려지면 (render() 함수가 실행되면) 호출되는 생명주기 함수는 componentDidMount() 이다. setTimeout() 첫번째 인자로 전달한 함수를 두번째 인자로 전달한 값 후에 실행한다. 코드에서 setState함수를 6000ms 즉, 6초 뒤에 출력해준다.
-
[React] SetStateComputerScience/React 2020. 7. 11. 21:22
class App extends React.Component { state = { count : 0, }; add = () => { (생략...) }; (생략...) } add = () => { //this.setState({ count: this.state.count + 1 }); this.setState(current => ({ count : current.count +1, })); }; add함수로 setState함수를 호출한다. current에는 현재 state가 넘어온다. state에 setState에 접근하여 변경시킬 수 있다. state는 직접 접근해선 안됨.
-
[Spark] RDD란?ComputerScience/스파크 2020. 7. 10. 15:46
"RDD란 스파크가 사용하는 핵심 데이터 모델로서 다수의 서버에 걸쳐 분산 방식으로 저장된 데이터 요소들의 집합을 의미하며, 병렬처리가 가능하고 장애가 발생한 경우에도 스스로 복구될 수 있는 내성(tolerance)를 가지고 있다" "Spark revolves around the concept of a resilient distributed dataset (RDD), which is a fault-tolerant collection of elements that can be operated on in parallel." https://spark.apache.org
-
[프로그래머스]큰 수 만들기ComputerScience/코딩테스트 2020. 7. 10. 00:01
문제 설명 어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구하려 합니다. 예를 들어, 숫자 1924에서 수 두 개를 제거하면 [19, 12, 14, 92, 94, 24] 를 만들 수 있습니다. 이 중 가장 큰 숫자는 94 입니다. 문자열 형식으로 숫자 number와 제거할 수의 개수 k가 solution 함수의 매개변수로 주어집니다. number에서 k 개의 수를 제거했을 때 만들 수 있는 수 중 가장 큰 숫자를 문자열 형태로 return 하도록 solution 함수를 완성하세요. 제한 조건 number는 1자리 이상, 1,000,000자리 이하인 숫자입니다. k는 1 이상 number의 자릿수 미만인 자연수입니다. 입출력 예 number k return 1924 2 94 1231..
-
[프로그래머스] 위장ComputerScience/코딩테스트 2020. 7. 9. 23:08
문제 설명 스파이들은 매일 다른 옷을 조합하여 입어 자신을 위장합니다. 예를 들어 스파이가 가진 옷이 아래와 같고 오늘 스파이가 동그란 안경, 긴 코트, 파란색 티셔츠를 입었다면 다음날은 청바지를 추가로 입거나 동그란 안경 대신 검정 선글라스를 착용하거나 해야 합니다. 종류이름 얼굴 동그란 안경, 검정 선글라스 상의 파란색 티셔츠 하의 청바지 겉옷 긴 코트 스파이가 가진 의상들이 담긴 2차원 배열 clothes가 주어질 때 서로 다른 옷의 조합의 수를 return 하도록 solution 함수를 작성해주세요. 제한사항 clothes의 각 행은 [의상의 이름, 의상의 종류]로 이루어져 있습니다. 스파이가 가진 의상의 수는 1개 이상 30개 이하입니다. 같은 이름을 가진 의상은 존재하지 않습니다. clothe..
-
[프로그래머스] 베스트앨범ComputerScience/코딩테스트 2020. 7. 4. 00:36
문제 설명 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 많이 재생된 장르를 먼저 수록합니다. 장르 내에서 많이 재생된 노래를 먼저 수록합니다. 장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼저 수록합니다. 노래의 장르를 나타내는 문자열 배열 genres와 노래별 재생 횟수를 나타내는 정수 배열 plays가 주어질 때, 베스트 앨범에 들어갈 노래의 고유 번호를 순서대로 return 하도록 solution 함수를 완성하세요. 제한사항 genres[i]는 고유번호가 i인 노래의 장르입니다. plays[i]는 고유번호가 i인 노래가 재생된 횟수입니..
-
[프로그래머스] 여행경로ComputerScience/코딩테스트 2020. 7. 3. 17:59
여행경로 문제 설명 주어진 항공권을 모두 이용하여 여행경로를 짜려고 합니다. 항상 ICN 공항에서 출발합니다. 항공권 정보가 담긴 2차원 배열 tickets가 매개변수로 주어질 때, 방문하는 공항 경로를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 모든 공항은 알파벳 대문자 3글자로 이루어집니다. 주어진 공항 수는 3개 이상 10,000개 이하입니다. tickets의 각 행 [a, b]는 a 공항에서 b 공항으로 가는 항공권이 있다는 의미입니다. 주어진 항공권은 모두 사용해야 합니다. 만일 가능한 경로가 2개 이상일 경우 알파벳 순서가 앞서는 경로를 return 합니다. 모든 도시를 방문할 수 없는 경우는 주어지지 않습니다. 입출력 예 tickets return [[IC..
-
[Unix] fork(), vfork(), Copy On Write, exec()ComputerScience/운영체제 2020. 6. 14. 18:26
유닉스에서 fork()와 exec()를 배웠다. 도대체 fork(), exec()는 무엇일까? 간단히 Process Control을 해준다고 보면 된다. fork() fork()는 현재 부모 프로세스를 메모리상에서 복사한 자식 프로세스를 만드는 과정. 이러한 과정에서 자식은 부모의 변수, 스택 ,힙의 내용을 복사하게 된다. 이 때, PCB또한 복사된다. PCB는 프로세스를 지원하고 관리하기 위한 정보들이 담긴 데이터 구조체이다. 부모와 자식의 주소공간은 다르다. 부모 프로세스는 원래대로 실행되고, fork()를 이용해 생성된 프로세스도 다음 라인부터 실행된다. fork()의 return값은 proceeid를 출력하게 되는데 fork()의 return 값이 0이면 자식 프로세스 0보다 크면 부모 프로세스 ..
-
[운영체제] Atomic연산, CAS(CompareAndSwap)에 대하여, ABA문제ComputerScience/운영체제 2020. 6. 14. 17:43
스핀락, 뮤텍스, 세마포어, 모니터 모두 하나의 Thread가 임계영역을 Lock한 후 작업을 수행하는 절차이다. 하지만 sychronized화 하게 되면 한 개의 Thread가 해당 블락을 전체 lock(점유)하기 때문에 다른 Thread는 아무작업을 하지 못하게 되고 이로 인해서 기다리는 상황이 발생하고 낭비가 심해진다. 그래서 Non-blocking한 방법, Lock-Free한 방법으로 동기화 문제를 해결하기 위한 방법이 바로 Atomic연산이다. 그리고 이 동작의 핵심 원리는 CAS(Compare And Swap)에 있다. CAS(CompareAndSwap)알고리즘이란? 멀티 쓰레드 환경, 멀티 코어 환경에서 각 CPU는 메인 메모리에서 변수값을 참조하는 것이 아닌, 각 CPU에서 캐시 영역에서 ..