텍스트 포맷으로 데이터를 다룰때 가장편하게 사용하는게 우리팀은 탭을 구분자로 만든 파일을 사용한다.그리고 일반적으로 이걸 읽어들이는 모듈은 csv 관련 모듈을 써서 사용하게 된다. 이를 케이스별로 어떻게 쓰는지 알려주고자 한다. 1. 헤더라인 있음 + 구분자 정의맨 윗줄에 필드명이 정의된 경우를 의미한다. 이때는 특별히 해줄것은 없다.단, 구분자의 변경이 필요하다면, 다음과 같이 parse_options 을 잘 정의해줘야한다.나는 chatGPT 가 과거 버전의 해결법을 알려준건지 이것때문에 삽질을 꽤 했다.import pyarrow.fs as fsimport pyarrow.csv as csvimport duckdbhdfs = fs.HadoopFileSystem(host='hdfs://my', user='..
우선 duckdb 에서 s3 는 기본지원이 되는데, hdfs 는 기본지원이 안된다.jupyter 에서 duckdb 를 이용해서 간단한 필터링과 정렬을 sql 기반으로 다룰수 있어서 유용한데 hdfs 의 파일을 분석할때 고민이 되는데, 이때는 pyarrow 를 이용하여 연동하면 대부분 해결된다. (orc 포맷도 pyarrow 로 해결가능함) 해결방법당연하지만 pyarrow 와 duckdb 라이브러리는 깔려있어야한다.그리고 여기서는 kerberos 인증을 keytab파일을 통해 hadoop 연결을 한다고 가정하겠다.우선 다음과 같이 keytab 인증을 한다고 가정한다. 주피터에서는 이런 명령을 실행할때 맨앞에 ! 를 넣고 라인에서 실행하는것도 가능하다.kinit -kt /home1/user/myuser.ke..