본문으로 이동

아파치 애로

위키백과, 우리 모두의 백과사전.
아파치 애로
개발자아파치 소프트웨어 재단
발표일2016년 10월 10일(8년 전)(2016-10-10)
안정화 버전
20.0.0[1] 위키데이터에서 편집하기 / 2025년 4월 27일(3개월 전)(2025년 4월 27일)
저장소github.com/apache/arrow
프로그래밍 언어C, C++, C#, Go, Java, 자바스크립트, 매트랩, Python, R, Ruby, Rust
종류데이터 형식, 알고리즘
라이선스아파치 라이선스 2.0
웹사이트arrow.apache.org

아파치 애로(Apache Arrow)는 언어 불가지론소프트웨어 프레임워크로, 컬럼형 데이터를 처리하는 데이터 분석 애플리케이션을 개발하는 데 사용된다. 여기에는 현대 CPUGPU 하드웨어에서 효율적인 분석 작업을 위해 플랫 및 계층적 데이터를 나타낼 수 있는 표준화된 컬럼 지향 메모리 형식이 포함되어 있다.[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]

각주

[편집]
  1. “Release Apache Arrow 20.0.0”. 2025년 4월 27일. 2025년 5월 7일에 확인함. 
  2. “Apache Arrow and Distributed Compute with Kubernetes”. 2018년 12월 13일. 
  3. Baer, Tony (2016년 2월 17일). “Apache Arrow: Lining Up The Ducks In A Row... Or Column”. 《Seeking Alpha》. 
  4. Baer, Tony (2019년 2월 25일). “Apache Arrow: The little data accelerator that could”. 《ZDNet》. 
  5. Hall, Susan (2016년 2월 23일). “Apache Arrow's Columnar Layouts of Data Could Accelerate Hadoop, Spark”. 《The New Stack》. 
  6. Yegulalp, Serdar (2016년 2월 27일). “Apache Arrow aims to speed access to big data”. 《인포월드》. 
  7. Tanveer Ahmad (2019). 《ArrowSAM: In-Memory Genomics Data Processing through Apache Arrow Framework》. 《BioRxiv》. 741843쪽. doi:10.1101/741843. 
  8. “Python — Apache Arrow v20.0.0”. 
  9. 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. 
  10. 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쪽. 
  11. 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. 
  12. Le Dem, Julien. “Apache Arrow and Apache Parquet: Why We Needed Different Projects for Columnar Data, On Disk and In-Memory”. 《KDnuggets》. 
  13. “Apache Arrow vs. Parquet and ORC: Do we really need a third Apache project for columnar data representation?”. 2017년 10월 31일. 
  14. “PyArrow:Reading and Writing the Apache Parquet Format”. 
  15. “The Apache® Software Foundation Announces Apache Arrow™ as a Top-Level Project”. 《The Apache Software Foundation Blog》. 2016년 2월 17일. 2016년 3월 13일에 원본 문서에서 보존된 문서. 
  16. Martin, Alexander J. (2016년 2월 17일). “Apache Foundation rushes out Apache Arrow as top-level project”. 《더 레지스터》. 
  17. “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일에 확인함. 
  18. Le Dem, Julien (2016년 11월 28일). “The first release of Apache Arrow”. 《SD Times》. 
  19. “Julien Le Dem on the Future of Column-Oriented Data Processing with Apache Arrow.”. 

외부 링크

[편집]