배워서 남주는 코딩

H5Cpp.h와 친해지기

한글순화운동 2019. 8. 5. 17:26

1. HDF란,

하이라키컬? 데이터 포맷, 즉

계층이 있는 데이터 포맷. for large amounts of data. 입니다.

파일 확장자 중 하나로서,

20여년이 넘게 발전되어오고 있습니다.

특히 요즘 빅데이터 관련 산업이 발달하면서,, 더 주목을 받고 있습니다.

 

최신 버전은 HDF5의 1.10 버전입니다.

 

출처: hdf그룹

관련 비영리 기관이 있어서,

릴리즈와 포럼 역할을 담당하고 있죠.

 

엄청나게 많은 데이터 - 배열 형식.에 유리합니다.
다만 우리는 이 HDF 이전에 친근한 확장자들이 있죠.
excel, csv... HDF5?
xslx는 사야하니까,,, 다른 걸 알아본다면
단순히 띄어쓰기 형식으로 구분한 csv가 가장 많습니다.
데이터를 제공하는 업체에서도 이렇게 많이 공급합니다.
하지만 데이터가 커지면 두 분야에서 리스크가 커지죠.

save vs. lookup

 

HDF는 lookup에 가중치를 두고 있습니다.

왜냐하면, csv보다 같은 데이터를 두고도 더 많은 용량을 차지하기 때문입니다.

다만, 요즘같은 시대에 용량이 중요하겠습니까, 아니면

가져다 쓰는 것이 더 중요할까요.

 

https://stackoverflow.com/questions/16639877/hdf5-taking-more-space-than-csv

 

HDF5 taking more space than CSV?

Consider the following example: Prepare the data: import string import random import pandas as pd matrix = np.random.random((100, 3000)) my_cols = [random.choice(string.ascii_uppercase) for x in...

stackoverflow.com

에 따르면 엄청난 시간 절약을 해준다고 하네요.

약간은 개인적인 기록이겠지만,, 참고하자면 그렇다는 겁니다.

파이썬으로 했을 때,,, 그런 것 같기도.. 합니다.

 

그리고 이들이 내세우는 가치가 있죠.

메타 데이터
빅 데이터
빠른 I/O
크로스 플랫폼
공유가 쉬움

등.

 

Share가 어떤 공유인지는 모르겠으나 크로스 플랫폼...에서는 좀...

 

 

출처: hdf그룹

 

위의 다운로드도 지원해 주고, 이렇게 테스트 코드도 제공하지만

가져다 쓰기에 편하지만은 않습니다.

VS 버전따라, 때로는 Cmake따라서 다른 결과를 가져옵니다.

그래서 파일을 잘 받아야 하고,

환경에 따라서 빌드를 잘 하셔야 합니다.

C 기반으로 만들었다는 것으로 아는데,,,

 

마지막으로 영어 위키를 보니 UTF-8을 강제하지 않는다 ,,, 라는군요.