아파치 애로
개발자 | 아파치 소프트웨어 재단 |
---|---|
발표일 | 2016년 10월 10일 |
안정화 버전 | 20.0.0[1] ![]() |
저장소 | github |
프로그래밍 언어 | C, C++, C#, Go, Java, 자바스크립트, 매트랩, Python, R, Ruby, Rust |
종류 | 데이터 형식, 알고리즘 |
라이선스 | 아파치 라이선스 2.0 |
웹사이트 | arrow |
아파치 애로(Apache Arrow)는 언어 불가지론적 소프트웨어 프레임워크로, 컬럼형 데이터를 처리하는 데이터 분석 애플리케이션을 개발하는 데 사용된다. 여기에는 현대 CPU 및 GPU 하드웨어에서 효율적인 분석 작업을 위해 플랫 및 계층적 데이터를 나타낼 수 있는 표준화된 컬럼 지향 메모리 형식이 포함되어 있다.[2][3][4][5][6] 이를 통해 동적 램의 비용, 변동성 또는 물리적 제약과 같이 대규모 데이터 세트 작업의 실현 가능성을 제한하는 요소가 줄어들거나 제거된다.[7]
상호 운용성
[편집]애로는 아파치 파케이, 아파치 스파크, NumPy, PySpark, Pandas 및 기타 데이터 처리 라이브러리와 함께 사용할 수 있다. 이 프로젝트에는 C, C++, C#, Go, Java, JavaScript, Julia, MATLAB, Python(PyArrow[8]), R, Ruby, Rust로 작성된 네이티브 소프트웨어 라이브러리가 포함되어 있다. 애로는 이러한 언어와 시스템 간에 직렬화 오버헤드 없이 제로 복사 읽기 및 빠른 데이터 액세스 및 교환을 허용한다.[2]
애플리케이션
[편집]애로는 분석,[9] 유전체학,[10][7] 및 클라우드 컴퓨팅을 포함한 다양한 영역에서 사용되었다.[11]
아파치 파케이 및 ORC와의 비교
[편집]아파치 파케이와 아파치 ORC는 온디스크 컬럼형 데이터 형식의 인기 있는 예시이다. 애로는 메모리 내 데이터 처리를 위해 이러한 형식을 보완하도록 설계되었다.[12] 메모리 내 처리를 위한 하드웨어 리소스 엔지니어링의 장단점은 온디스크 저장소와 관련된 것과는 다르다.[13] 애로 및 파케이 프로젝트에는 두 형식 간에 데이터를 읽고 쓰는 라이브러리가 포함되어 있다.[14]
거버넌스
[편집]아파치 애로는 아파치 소프트웨어 재단에 의해 2016년 2월 17일에 발표되었으며,[15] 다른 오픈 소스 데이터 분석 프로젝트 개발자들의 연합에 의해 개발이 주도되었다.[16][17][6][18][19] 초기 코드베이스와 자바 라이브러리는 아파치 드릴의 코드를 시드하여 만들어졌다.[15]
각주
[편집]- ↑ “Release Apache Arrow 20.0.0”. 2025년 4월 27일. 2025년 5월 7일에 확인함.
- ↑ 가 나 “Apache Arrow and Distributed Compute with Kubernetes”. 2018년 12월 13일.
- ↑ Baer, Tony (2016년 2월 17일). “Apache Arrow: Lining Up The Ducks In A Row... Or Column”. 《Seeking Alpha》.
- ↑ Baer, Tony (2019년 2월 25일). “Apache Arrow: The little data accelerator that could”. 《ZDNet》.
- ↑ Hall, Susan (2016년 2월 23일). “Apache Arrow's Columnar Layouts of Data Could Accelerate Hadoop, Spark”. 《The New Stack》.
- ↑ 가 나 Yegulalp, Serdar (2016년 2월 27일). “Apache Arrow aims to speed access to big data”. 《인포월드》.
- ↑ 가 나 Tanveer Ahmad (2019). 《ArrowSAM: In-Memory Genomics Data Processing through Apache Arrow Framework》. 《BioRxiv》. 741843쪽. doi:10.1101/741843.
- ↑ “Python — Apache Arrow v20.0.0”.
- ↑ Dinsmore T.W. (2016). 〈In-Memory Analytics: Satisfying the Need for Speed〉. 《Disruptive Analytics》. Apress, Berkeley, CA. 97–116쪽. doi:10.1007/978-1-4842-1311-7_5. ISBN 978-1-4842-1312-4.
- ↑ Versaci F, Pireddu L, Zanetti G (2016). 《Scalable genomics: from raw data to aligned reads on Apache YARN》 (PDF). 《IEEE International Conference on Big Data》. 1232–1241쪽.
- ↑ Maas M, Asanović K, Kubiatowicz J (2017). 〈Return of the Runtimes: Rethinking the Language Runtime System for the Cloud 3.0 Era〉. 《Proceedings of the 16th Workshop on Hot Topics in Operating Systems》. 138–143쪽. doi:10.1145/3102980.3103003. ISBN 978-1-4503-5068-6.
- ↑ Le Dem, Julien. “Apache Arrow and Apache Parquet: Why We Needed Different Projects for Columnar Data, On Disk and In-Memory”. 《KDnuggets》.
- ↑ “Apache Arrow vs. Parquet and ORC: Do we really need a third Apache project for columnar data representation?”. 2017년 10월 31일.
- ↑ “PyArrow:Reading and Writing the Apache Parquet Format”.
- ↑ 가 나 “The Apache® Software Foundation Announces Apache Arrow™ as a Top-Level Project”. 《The Apache Software Foundation Blog》. 2016년 2월 17일. 2016년 3월 13일에 원본 문서에서 보존된 문서.
- ↑ Martin, Alexander J. (2016년 2월 17일). “Apache Foundation rushes out Apache Arrow as top-level project”. 《더 레지스터》.
- ↑ “Big data gets a new open-source project, Apache Arrow: It offers performance improvements of more than 100x on analytical workloads, the foundation says.”. 2016년 2월 17일. 2016년 7월 27일에 원본 문서에서 보존된 문서. 2018년 1월 31일에 확인함.
- ↑ Le Dem, Julien (2016년 11월 28일). “The first release of Apache Arrow”. 《SD Times》.
- ↑ “Julien Le Dem on the Future of Column-Oriented Data Processing with Apache Arrow.”.
외부 링크
[편집]- Apache Arrow 프로젝트 웹사이트
- Apache Arrow GitHub 프로젝트 소스 코드