차례:
- RHadoop
- rmr2 :
- ScaleR은 Hadoop 클러스터에서 R 프로그램 코드의 빠른 실행을 목표로하므로 R 개발자는 MapReduce가 아닌 통계 알고리즘에만 집중할 수 있습니다. 또한 데이터 준비, 시각화 및 통계 테스트와 같은 다양한 분석 작업을 처리합니다.
- BigInsights Big R 기술은 Hadoop 클러스터에서 R 코드의 병렬 및 파티션 된 실행을 제공하면서 플랫 파일, HBase 및 Hive 저장 포맷을 비롯한 여러 데이터 소스를 지원합니다. HDFS 및 MapReduce 프레임 워크의 복잡성을 숨기고 Big R 기능을 통해 구조화 된 데이터와 구조화되지 않은 데이터 모두에 대한 종합적인 데이터 분석을 수행 할 수 있습니다.마지막으로, Big R의 통계 엔진의 확장 성은 R 개발자가 미리 정의 된 통계 기법과 새로운 알고리즘 자체를 작성하는 것을 허용합니다.
비디오: Scale R to Big Data with Hadoop & Spark 2024
처음에는 큰 데이터와 R이 자연스러운 친구가 아니 었습니다. R 프로그래밍을 위해서는 모든 개체를 단일 컴퓨터의 주 메모리에로드해야합니다. 큰 데이터가 방정식의 일부가되면이 아키텍처의 한계가 빠르게 실현됩니다.
반대로 Hadoop과 같은 분산 파일 시스템은 강력한 통계 기술이 없지만 복잡한 작업과 작업을 확장하는 데 이상적입니다. 값 비싼 수퍼 컴퓨팅 하드웨어에 대한 투자가 필요한 수직 스케일링 솔루션은 종종 분산 된 상용 하드웨어 클러스터가 제공하는 비용 대비 수익률과 경쟁 할 수 없습니다.
R 언어의 메모리 내 단일 기계 제한 사항을 준수하기 위해 데이터 과학자들은 종종 분석을 사용 가능한 샘플 데이터의 하위 집합으로 제한해야했습니다. Hadoop과의 긴밀한 통합에 앞서 R 언어 프로그래머는 단일 컴퓨터에서 대규모 데이터 세트로 인한 메모리 내 문제를 극복하기위한 확장 전략을 제안했습니다.
이것은 메시지 전달 시스템과 페이징을 사용하여 달성되었습니다. 이 기술은 너무 커서 메인 메모리에 동시에 저장할 수없는 데이터 세트에 대한 작업을 용이하게합니다. 그러나 저수준 프로그래밍 접근법은 병렬 프로그래밍 패러다임에 익숙하지 않은 사람들에게 가파른 학습 곡선을 제공합니다.
개발자는 MapReduce의 분산 컴퓨팅 기능과 R이 악용 할 수있는 방식으로 HDFS의 거의 무한한 스토리지 용량을 활용하는 다양한 전략을 계속 연구합니다.Hadoop과 R의 통합은 진행 중이며 IBM에서 제공하는 오퍼링을 사용합니다. (BigInsights의 일원으로 Big R) 및 Revolution Analytics (Revolution R Enterprise)가 있습니다. 하이브리드 프로그래밍과 쿼리 언어를 Hadoop (예: RHive 및 RHadoop)과 통합하는 브리징 솔루션도 사용할 수 있습니다.
근본적으로 각 시스템은 훨씬 더 큰 데이터 세트에 R 언어의 심층 분석 기능을 제공하는 것을 목표로합니다.
RHive
RHive 프레임 워크는 R 언어와 Hive 사이의 다리 역할을합니다. RHive는 R 전용 함수를 사용하여 Hive의 SQL과 유사한 쿼리 언어 (HiveQL)를 확장하여 Hadoop에 저장된 데이터에 R의 풍부한 통계 라이브러리와 알고리즘을 제공합니다. RHive 함수를 통해 HiveQL을 사용하여 Hive를 사용하여 카탈로그 한 Hadoop 클러스터의 데이터에 R 통계 모델을 적용 할 수 있습니다.
RHadoop
R 프로그래머가 사용할 수있는 또 다른 오픈 소스 프레임 워크는 Hadoop을 통한 데이터 배포 및 분석을 관리하기위한 패키지 모음 인 RHadoop입니다.
rmr2:
rmr2 패키지는 R 언어를 Hadoop 호환 MapReduce 작업으로 변환하는 것을 지원합니다 (효율적인 저수준 MapReduce 코드 생성). rmr2 패키지는 Rado2, rhdfs 및 rhbase의 세 가지 패키지로 대부분의 RHadoop 기능을 제공합니다. 높은 수준의 R 코드에서).
-
rhdfs: rhdfs 패키지는 HDFS 저장소를 통한 파일 관리를위한 R 언어 API를 제공합니다. 사용자는 rhdfs를 사용하여 HDFS 저장소에서 R 데이터 프레임 (행렬)까지 읽을 수 있으며 마찬가지로 이러한 R 행렬의 데이터를 HDFS 저장소에 다시 쓸 수 있습니다.
-
rhbase: rhbase 패키지는 R 언어 API도 제공하지만, 인생의 목표는 HDFS 파일보다는 HBase 저장소에 대한 데이터베이스 관리를 다루는 것입니다.
-
Revolution R Revolution R (Revolution Analytics)은 Hadoop 분산 시스템에서의 R 통합을 지원하는 상용 R 제품입니다. Revolution R은 Hadoop의 향상된 성능, 기능 및 유용성을 제공 할 것을 약속합니다. R과 비슷한 깊은 분석을 제공하기 위해 Revolution R은 기업 규모의 대규모 데이터 수집을 위해 특별히 개발 된 통계 분석 알고리즘 모음 인 ScaleR 라이브러리를 사용합니다.
ScaleR은 Hadoop 클러스터에서 R 프로그램 코드의 빠른 실행을 목표로하므로 R 개발자는 MapReduce가 아닌 통계 알고리즘에만 집중할 수 있습니다. 또한 데이터 준비, 시각화 및 통계 테스트와 같은 다양한 분석 작업을 처리합니다.
IBM BigInsights Big R
Big R은 R 및 IBM의 Hadoop 제품인 BigInsights 간의 종단 간 통합을 제공하므로 R 개발자는 Hadoop 데이터를 분석 할 수 있습니다. 목표는 R의 프로그래밍 구문 및 코딩 패러다임을 이용하면서 운영되는 데이터가 HDFS에 유지되도록하는 것입니다. R 데이터 유형은 이러한 데이터 저장소의 프록시 역할을합니다. 즉, R 개발자는 저수준 MapReduce 구문이나 Hadoop 관련 스크립팅 언어 (예: 돼지)를 생각할 필요가 없습니다.