'프로그래밍'에 해당되는 글 77건

(Chapter 3) 17. Actions :: 2016/03/21 17:15

그동안 서로간의 변형을 통해서 어떻게 RDD 생성하는지를 알아보았다. 하지만, 어떤 경우에는 Dataset 가지고 직접적으로 어떤 일을 하고 싶을 수도 있다. Action RDD operation 번째 형태이다. Action driver program 마지막 값을 되돌려 주거나 외부 storage system 데이터를 쓰는 작업을 수행한다. Action RDD 호출하는 곳에서 필요로 하는 변형에 대해서 평가하기 때문에 실제적인 ouput 만들어낼 필요가 있다.


앞의 섹션의 log example에서 계속해서 살펴보자면 badLinesRDD 대해 어떤 정보를 출력하고 싶을 수도 있다. 그렇게 하기 위해서는 2가지 action 사용할 있다. count() 숫자를 값을 리턴하고, take() RDD element collection 리턴한다. 샘플코드는 3-15, 3-17에서 있다.


Example 3-15. Python error count using actions

print "Input had " + badLinesRDD.count() + " concerning lines"

print "Here are 10 examples: "

for line in badLinesRDD.take(10):

     print line


Example 3-16. Scala rror count using actions

println("Input had " + badLinesRDD.count() + " concerning lines")

println("Here are 10 examples:")

badLinesRDD.take(10).foreach(println)


Example 3-17. Java error count using actions

System.out.println("Input had " + badLinesRDD.count() + " concerning lines")

System.out.println("Here are 10 examples:")

for (String line : badLinesRDD.take(10)) {

     System.out.println(line);

}


위의 예제에서, driver program에서 작은 숫자의 RDD element 추출하기 위해서 take() 사용했다. Driver 정보를 출력하기 위해서 반복하여 출력했다. RDD 전체 RDD 추출하기 위해서 collect() 함수를 가지고 있다. 만약 프로그램 필터에서 RDD 아주 작은 크기로 줄여서 내부적으로 다루고자 하는 경우에 유용하게 사용할 있다. 다만, 전체 dataset collect() 사용하여 하나의 machine 메모리 크기에 적합해야 한다는 것을 유념해야 한다. 따라서 collect() large dataset 대상으로는 사용하지 않아야 한다.


대부분의 경우, RDD driver 직접적으로 collect()함수를 사용하여 데이터를 추출할 없다. 왜냐하면 dataset 너무 크기 때문이다. 이러한 경우에는 HDFS Amazon S3 같은 분산 저장환경에 데이터를 쓰는 경우가 일반적이다. 또한 saveAsTextFile() action, saveAsSequenceFile()이나 다양한 내장된 형태로 다른 많은 action 사용하여 RDD 내용을 저장할 있다. 데이터를 추출하는 다른 option 대해서는 Chapter 5에서 다룰 것이다.


새로운 action 매번 호출할 때마다 전체 RDD " 처음부터"(from scratch) 계산되어야 한다는 것을 아는 것이 중요하다. 이러한 비효율성을 피하기 위해서 44페이지에서 "Persistence (Caching)"으로 다루는 중간 결과를 유지할 있다.

2016/03/21 17:15 2016/03/21 17:15
Trackback Address :: http://www.yongbi.net/trackback/743
[로그인][오픈아이디란?]
오픈아이디로만 댓글을 남길 수 있습니다
Name
Password
Homepage

Secret

CentOS 6.4에서 Nginx 1.6.2 설치하기 :: 2015/03/27 17:55

필요에 의해서 모처럼 VMWare Player를 설치하고 CentOS 6.4 64bit OS를 VM에 설치했다.
최신 stable 버전인 nginx 1.6.2를 설치하려고 다운로드를 받았다.

예전 기억을 되살려서 설치를 해보니 다음과 같은 과정을 거치면 깔끔하게 설치가 끝난다.

root 계정 로그인
Terminal 실행
> yum -y install gcc-c++
> yum -y install pcre* openssl* zlib*
> ./configure
       --prefix=/home/userid/nginx
       --sbin-path=/home/userid/nginx/nginx
       --conf-path=/home/userid/nginx/nginx.conf
       --pid-path=/home/userid/nginx/nginx.pid

> make & make install

서버 실행
> nginx -s [start | stop | restart | reload]

2015/03/27 17:55 2015/03/27 17:55
Trackback Address :: http://www.yongbi.net/trackback/662
[로그인][오픈아이디란?]
오픈아이디로만 댓글을 남길 수 있습니다
Name
Password
Homepage

Secret

2014 Trends :: 2015/01/15 16:06

2014년 주요 트렌드

  • 사진을 분석하여 빅 데이터화 한 후 마케팅 자료로 활용 : 사진에 있는 사람이 입고 있는 의류 브렌드, 제품들 등등
  • 광고의 대세 : 모바일 광고, 디지털 광고, SNS 광고
  • 3D 아바타 : 자신의 사진을 올리면 3D 아바타를 만들어 주고 3D 아바타가 각종 의류나 제품을 사용하는 모습을 통해 실제 구매한 제품 사용기를 간접 경험
  • 고객 맞춤 서비스 : DNA 분석을 통한 맞춤 화장품 추천
  • 건강, 웰빙 문화의 확산 : 믿을 수 있는 건강을 위한 식품에 대한 신뢰를 통한 매출 증대
  • Design : Wearable은 Device, Tech를 넘어 Fashion. 기능은 기본, 디자인이 중요
  • Sky 광고 : 드론을 활용한 광고. 점심 시간에 메뉴를 고민하는 고객에게 드론을 이용해 메뉴 추천, 구매 유도!
  • 스트리밍 시대 : 멀티미디어에 대한 스트리밍 서비스 확대
  • 스마트 버튼 : Wearable 시계의 버튼을 피부에 레이저로 투사 => 공중에 홀로그램으로 투사. 동작하는 버튼.
  • 초음파 : 초음파를 통한 거리 측정 및 스마트폰 제어
  • 능동형 안전기술 : 센서, 카메라, 레이더 등을 통한 사각지대 없는 안전 운전
  • 반창고형 바이오 센서 : 실시간 건강체크용 반창고형 바이오 센서
  • 가상 현실 게임 : 공간 전체를 게임룸으로 사용. 프로젝션 매핑 기술과 게임의 접목
  • 웨어러블 드론 카메라 : 평소에는 손목에 차고 다니는 Wearable 기기. 펼치면 스마트폰으로 제어 가능한 드론 카메라. 날아다니면서 사진을 찍어보자!

2015/01/15 16:06 2015/01/15 16:06
Trackback Address :: http://www.yongbi.net/trackback/642
[로그인][오픈아이디란?]
오픈아이디로만 댓글을 남길 수 있습니다
Name
Password
Homepage

Secret

O2O :: 2015/01/14 16:01

오늘날 세상은 IoT로 뜨겁게 살아오르고 있다.


컨텐츠/네트워크/플랫폼/디바이스로 나타나는 전통적인 경계가 모조리 무너지고 있다.
기업은 이제 연결(Connectivity)와 연합 및 협업(Collaboration)을 통해서 경계가 무너진 무한 경쟁 시대에 낙오하지 않기 위해 전력투구를 하고 있다.

예전에는 승자독식의 시대였다면, 이제는 얼마나 든든한 아군을 가지고 있으냐에 따라 내가 살아남을 수 있느냐는 관점에서의 오직 생존을 염두에 두어야 한다.

기업이 이런 환경에 처해 있다면, 그 기업이 제공하는 서비스를 이용하는 사용자, 비용을 지불하는 고객은 어떻게 변할까? 내가 한사람의 고객이라면, 앞으로의 시대는 내가 생산해 내는 모든 데이터들 - 이동 경로, 온오프라인 구매정보, 신체의 온갖 건강정보, 단말을 통해서 내가 생산해 내는 모든 멀티미디어, 음성통화, 문자메시지 등등등 - 기반으로 나만의 새로운 서비스를 제공받는 세상에서 살게 될 것이다.

나의 현재 신체리듬에 기반하여 지금 내 감정이나 기분을 맞출 수 있다면? 심지어 나를 먼저 위로해 주고 격려해 주는 서비스도 가능할 것이다.

보통 물건을 판매하는 영업사원들의 활동은 고객에게 '먼저 찾아가는' 형식으로 이루어진다. 이제부터는 모든 서비스 산업도 먼저 고객에게 찾아가는 맞춤 서비스 시대가 올 것이다. 그 대표적인 것이 바로 O2O(Online to Offline) 서비스이다. 내가 생산해 내는 각종 정보를 이용해 나에게 맞는 서비스를 제공 받는 시대가 온 것이다.

그렇다면, 몇년 전 '포도주처럼 달콤한 목소리로 나에게 다가오는 가상 비서'라는 의미로, 그러한 서비스를 만들어 보고자 등록한 VINT라는 개인 사업자 회사명처럼 진정으로 나만을 위한 맞춤 사이버 비서가 만들어질 수 있는 시대가 금방 오리라.

개인적으로, 그리고 회사 차원에서 필요한 것들을 다시 정리해서 준비해 보아야겠다.

2015/01/14 16:01 2015/01/14 16:01
Trackback Address :: http://www.yongbi.net/trackback/641
[로그인][오픈아이디란?]
오픈아이디로만 댓글을 남길 수 있습니다
Name
Password
Homepage

Secret

주요 플랫폼 개발 오픈소스 :: 2015/01/12 15:48

  • Reveal.JS
  • Impress.JS
  • Diaspora
  • D3.JS
  • 브라우저 기반 코드 편집기 : CodeMirror
  • 웹개발 : CasperJS, PhantomJS
  • 지리정보 : GeoServer
  • CSS : Less CSS
  • 교통수단에 따른 목적지까지 걸린 시간 시뮬레이션 : Simutrans
  • 리눅스 멀티미디어 스튜디오 : lmms.sourceforge.net

2015/01/12 15:48 2015/01/12 15:48
Trackback Address :: http://www.yongbi.net/trackback/640
[로그인][오픈아이디란?]
오픈아이디로만 댓글을 남길 수 있습니다
Name
Password
Homepage

Secret
< PREV |  1  |  2  |  3  |  4  |  5  |  ...  16  |  NEXT >