Big Data Platform Field Case in MelOn (in Korean)
- Presented by Byeong-hwa Yoon, engineer manager at Loen Entertainment
- at Gruter TECHDAY 2014 Oct. 29 Seoul, Korea
spark 1.6을 기준으로 spark sql에 대해서 개략적으로 설명한 자료입니다. 발표 자료가 친절하지 않으나 한글로 된 자료가 없길래 혹시나 도움 되시는 분들이 있을까 하여 공유합니다.
발표자료 보다는 마지막 페이지의 참고자료들을 읽어보시기를 권장 드립니다.
출처만 남겨주시면 자유롭게 가져가셔서 사용하셔도 무방합니다.
Big Data Platform Field Case in MelOn (in Korean)
- Presented by Byeong-hwa Yoon, engineer manager at Loen Entertainment
- at Gruter TECHDAY 2014 Oct. 29 Seoul, Korea
spark 1.6을 기준으로 spark sql에 대해서 개략적으로 설명한 자료입니다. 발표 자료가 친절하지 않으나 한글로 된 자료가 없길래 혹시나 도움 되시는 분들이 있을까 하여 공유합니다.
발표자료 보다는 마지막 페이지의 참고자료들을 읽어보시기를 권장 드립니다.
출처만 남겨주시면 자유롭게 가져가셔서 사용하셔도 무방합니다.
This document summarizes an introduction to deep learning with MXNet and R. It discusses MXNet, an open source deep learning framework, and how to use it with R. It then provides an example of using MXNet and R to build a deep learning model to predict heart disease by analyzing MRI images. Specifically, it discusses loading MRI data, architecting a convolutional neural network model, training the model, and evaluating predictions against actual heart volume measurements. The document concludes by discussing additional ways the model could be explored and improved.
RUCK 2017 R에 날개 달기 - Microsoft R과 클라우드 머신러닝 소개r-kor
Microsoft R can be used with Spark to perform advanced analytics on big data in the cloud or on-premises. Key features include the ability to choose between Spark and other compute contexts, easily deploy analytic models as web services, and process data at scale on HDInsight clusters with hundreds of nodes. R enables building end-to-end AI solutions from data preparation and modeling to operationalizing models for production using services like SQL Server, HDInsight, and Azure.
This document discusses genomic meta-analysis and summarization techniques. It introduces MetaQC for quality control, MetaDE for detecting differentially expressed genes through meta-analysis, and MetaPCA for integrative visualization of multiple genomic studies. MetaQC uses quality measures to determine inclusion/exclusion of studies in meta-analysis. MetaDE detects biomarkers statistically significant across studies using Fisher's and adaptive weighting methods. MetaPCA integrates multiple genomic datasets by finding a common principal component space.
This document discusses the history and implementation of regression tree models. It begins by covering early tree models from the 1960s-1980s like CART and GUIDE. It then discusses more modern unified frameworks using modular packages in R like partykit and mob models. The document provides an example using a Bradley-Terry tree to model preferences from paired comparisons. It concludes by discussing potential extensions to deep learning methods.
빅데이터 기술의 소프트웨어 공학 적용
1. 빅데이터 기술의 활용 사례 - 빅데이터 기술은 이미 많은 적용 사례를 가지고 있고, IoT 기술과 더불어 일상의 기술이 되어 가고 있다 (Pervasive & Invisible Analytics).
2. Spark 플랫폼 - 이전에 Hadoop으로 대표되는 빅데이터의 분산 처리 기술은 계속 발전하고 있고, Spark는 메모리 기반 데이터 처리로 기존 대비 성능을 10~100배 개선하였다. 특히, Spark는 Scala라는 함수형 언어로 구현되었고, 이전에 Java 기반의 빅데이터 처리 코드를 보다 명료하고 Compact하게 구현할 수 있다. 데이터 분석에는 Imperative 언어보다 함수형 언어가 보다 적합하다.
3. 소프트웨어 공학에서의 데이터 분석 사례 - 최근 Software Analytics, Repository Mining 등 데이터 분석 사례들이 있고, 최근 GitHub 이나 StackOverflow 분석과 같은 빅데이터 분석 연구들이 진행되고 있다.
4. Spark를 활용한 Word Count 예
5. Big Data Software Engineering - 큰 데이터 처리 외에도, 실시간 데이터 처리 (Velocity), 다양한 데이터 처리 (Variety) 부분에도 소프트웨어 공학 적용이 필요하다. 또한, Big Data Software를 Engineering하는 부분에도 관심이 필요하다. Big Data 분석 코드 역시 SE의 대상으로 바라보고, Test Driven Dev, Agile Methodology와 같은 개발 방법의 적용을 살펴볼 필요가 있다.
마지막으로, 현재 빅데이터 기술에 대한 진입 장벽은 많이 낮아졌고, 사용 가능한 오픈소스들이 많다. 소프트웨어 공학자라면 빅데이터 분석을 직접 시도해 볼 필요가 있고, 특히, Spark-Scala는 향 후 더욱 발전 확대될 기술이다.
2Naver Open Android API Translation At DCampJeikei Park
■ 제 목 : Naver 오픈api-android-tran-20160529
■ 주제 : 네이버 오픈API를 활용한 안드로이드 통역앱 만들기
■ 내용 :
- 통역앱 개발을 위한 네이버 오픈API 소개
- 통역앱 안드로이드 화면 구성
- 안드로이드앱에서 각 API 호출 및 처리
- 통역앱 작동을 위한 애플리케이션 처리 노하우
■ 난이도 수준: 초급
■ 발표자 소개: 옥상훈 강사
- 現 표준프레임워크 오픈커뮤니티 에반젤리스트
- 現 네이버 랩스 D2에반젤리스트
- 現 네이버 개발자센터 & 오픈 API 담당
- 前 한국Adobe 시스템즈 컨설턴트
- 前 한국 자바 개발자협의회 회장
■ 일시: 2016. 5. 31(화) 19:00~21:00(120분)
■ 장소: 디캠프 6층 다목적홀 (선정릉역 위치)
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [SPOAZ] : Spotify 기반 개인화 음악 추천 서비스 프로젝트BOAZ Bigdata
데이터 엔지니어링 프로젝트를 진행한 SPOAZ 팀에서는 아래와 같은 프로젝트를 진행했습니다.
Spotify 기반 개인화 음악 추천 서비스 프로젝트
20기 이해현 서울여자대학교 소프트웨어융합학과
20기 안소유 서울여자대학교 소프트웨어융합학과
20기 임혁 중앙대학교 응용통계학과
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트Dae Kim
CloudBread
클라우드 기반 무료 오픈소스 프로젝트로, 모바일 게임과 모바일 앱에 최적화된 게임 서버 엔진입니다. 모든 서비스는 마이크로소프트의 클라우드 서비스인 Azure에 최적화되어 동작하며, 안정성과 확장성을 목표로 개발 중입니다.
기능
•PaaS / DaaS 서버 엔진•PaaS, DaaS 로 손쉬운 개발 및 서비스 즉시 배포
•Real Auto Scale - PaaS
•개발/테스트/배포 = 통합 환경
•서비스 규모에 따른 앱 변경 없음
글로벌 론칭 아키텍처
•글로벌 론칭+데이터 동기화
•설계 부터 클라우드에 최적화된 아키텍처 및 프레임워크로 개발
•오픈소스 프레임워크 활용 개발
보안, 관리, 기술교육
•저장/통신에 표준 암호화 기술 적용
•기본 관리자 서비스 및 커스터마이징
•분석/관리 배치 작업 추가 제작 가능
개발자 그룹
•페이스북 사용자 그룹 : https://www.facebook.com/groups/cloudBreadProject/
지원되는 모바일 & 클라이언트환경
•iOS, Android, Windows Phone, Windows 스토어앱, Xamarin, PhoneGap, Sencha 등
•Microsoft Azure Mobile Service가 지원하는 모바일 및 다양한 클라이언트 플랫폼 지원 : http://azure.microsoft.com/ko-kr/documentation/services/mobile-services/
설치
•Wiki의 튜토리얼 설치 참조
프로젝트 설명
•모바일게임과 모바일 앱에서 사용되는 사용자의 패턴과 액션을 기록해 기능들을 제공
•클라이언트 모바일 디바이스는 게임서버로 JSON 방식의 데이터를 요청하고 서버가 해당 데이터를 처리 후 응답
•약 100여개의 비즈니스 로직이 기본제공(Wiki 참조)
•클라이언트는 마이크로소프트가 오픈소스로 직접 만들어 제공하는 라이브러리를 통해 서버로 API를 호출
실행 예제와 API 리스트는 Wiki 참조
Contribute/질문/토론
•페이스북 사용자 그룹 : https://www.facebook.com/groups/cloudBreadProject/
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...Amazon Web Services Korea
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study
이 세션에서는 데브시스터즈의 Case Study를 통하여 Data Lake를 만들고 사용하는데 있어 요구 되는 사항들에 대해 공유합니다. 여러 목적에 맞는 데이터를 전달하기 위해 AWS 를 활용하여 Data Lake 를 구축하게된 계기와 실제 구축 작업을 하면서 경험하게 된 것들에 대해 말씀드리고자 합니다. 기존 인프라 구조 대비 효율성 및 비용적 측면을 소개해드리고, 빅데이터를 이용한 부서별 데이터 세분화를 진행할 때 어떠한 Architecture가 사용되었는지 소개드리고자 합니다.
Expanding Open Data Horizons with R and RStudior-kor
This document outlines the process for analyzing open data, including defining a problem, getting the data, cleaning it, exploring it, analyzing it, and communicating results. It provides tips for getting data using R packages and APIs. Methods are described for cleaning data by addressing outliers and missing values. Techniques are suggested for exploring data through graphing, mapping, and network analysis. The importance of communicating results through stories and sharing the process is emphasized. Examples of case studies and open data groups in Ottawa are also listed.
The document discusses Bristol's approach to becoming an open smart city by engaging citizens to collect sensor data. It describes how Bristol worked with citizens to understand issues they wanted technology and open data to address, such as collecting data with sensors to help understand damp in homes. Bristol believes a smart city requires citizen involvement and that citizens should control how their data is used. The goal is that citizen data combined with city open data can help create a truly smart city.
Digital Transformation, OSS, 모두를 위한 AI - 마이크로소프트의 관점r-kor
1. The document discusses digital transformation and how it is relevant across industries. It notes that digital masters who are leaders in digital capabilities outperform others in revenue, profitability, and market value.
2. It then discusses Microsoft's increasing involvement in open source software, noting contributions to projects like Linux and partnerships with organizations like the Linux Foundation. Over 600 million lines of code have been submitted to GitHub by Microsoft engineers.
3. The last section discusses Microsoft's vision for democratizing AI and making advanced analytics and machine learning more accessible through platforms like Azure that integrate services from Cognitive Services, HDInsight, and other tools.
1. R 로 API 서버를 만드는 4가지 방법(은 삽질기)
https://mrchypark.github.io/apiR
[pdf버전] [문의하기] [의견 및 오류 신고]
박찬엽
2017년 10월 28일
2. 박찬엽
서울도시가스 선행연구팀 연구원
챗봇 엔진 개발 및 서버 구축
패스트 캠퍼스 데이터 분석 R 강의
데이터 분석을 위한 중급 R 프로그래밍
R 네이버 뉴스 크롤러 N2H4 관리자
ForkonLP 프로젝트
KAKAO@알코홀릭 R 질문방
FACEBOOK@mrchypark
GITHUB@mrchypark
발표자 소개
10. 마이크로 서비스형 설계
장점
1. 기능 단위로 완결되어 개발 단위가 작음
2. 개별 서비스간의 의존성이 적어 유연함
3. 단일 모듈 장애시 전체 서비스의 영향이 적음
단점
1. 개별 서비스의 테스트 뿐만 아니라 전체 테스트가 필요
2. 서비스간 인터페이스 정의와 관리 이슈가 발생
3. 전체 서비스의 로그 관리를 위한 솔루션 필요
19. 우리 GET 서버가 할 일
서버에게 GET 요청이 오면 필요한 데이터를 전달해주기.
안녕하세요!!
20. 우리 GET 서버가 할 일
서버에게 GET 요청이 오면 필요한 데이터를 전달해주기.
안녕하세요!!
jug를 소개합니다!
if (!requireNamespace(jug)) {
install.packages(jug)}
library(jug)
jug() %%
get(/, function(req, res, err){
res$json(enc2utf8(안녕하세요!!))
return(res)
}) %%
simple_error_handler_json() %%
serve_it()
Serving the jug at http://127.0.0.1:8080
21. R로 GET 요청하기
R에서 http 표준의 요청을 처리해 주는 유용한 패키지는 httr입니다.
if (!requireNamespace(httr)) {
install.packages(httr)}
library(httr)
target-http://127.0.0.1:8080/
content(GET(url=target))
## [1] 안녕하세요!!
27. # 입력없이 결과를 주는 GET
R.Version()
## $platform
## [1] x86_64-w64-mingw32
##
## $arch
## [1] x86_64
##
## $os
## [1] mingw32
##
## $system
## [1] x86_64, mingw32
##
## $status
## [1]
##
## $major
## [1] 3
# a, b 입력으로 결과를 주는 POST
a-1;b-2
sum(a,b)
## [1] 3
GET과 POST의 차이점
요청 헤더에 body라는 이름으로 값을 보내면 POST이고 없으면 GET
R 함수로 예를 들면
28. 우리 POST 서버가 할 일
서버에게 POST 요청이 한글 문장을 sent라는 이름으로 같이 보내면 띄어쓰기 개수를 세서 줌.
# 입력
{sent='R 로 API 서버를 만드는 4가지 방법(은 삽질기)'}
# 예상 결과
7
29. stringr with jug
stringr은 정규표현식을 활용한 글자 처리를 도와주는 패키지
if (!requireNamespace(jug)) {
install.packages(jug)}
library(jug)
if (!requireNamespace(stringr)) {
install.packages(stringr)}
library(stringr)
count_ws-function(sent){
stringr::str_count(sent, [[:space:]])
}
jug() %%
post(/, decorate(count_ws)) %%
simple_error_handler_json() %%
serve_it()
30. R로 POST 요청하기
httr로 POST 요청을 해보겠습니다.
library(httr)
url-http://127.0.0.1:8080
body-list(sent=R 로 API 서버를 만드는 4가지 방법(은 삽질기))
content(POST(url, body=body),text)
## No encoding supplied: defaulting to UTF-8.
## [1] 7
40. GET 서버 예시
library('reticulate')
flask = import('flask')
app = flask$Flask('__main__')
app$route('/')({
index = function() {return('Hello R user Conference!')}
})
app$run()
48. 표준 입출력으로 함수 작성
## 표준 입력을 받아 line 객체로 저장
f - file(stdin)
open(f)
line-readLines(f, n=1, warn = FALSE)
## 데이터를 처리하여 result 객체로 저장
result-paste0(Hi , line)
## 표준 출력으로 결과 전달
write(result, stderr())