환경 설정
ipython을 사용합니다. 다음을 실행하여 시작할 수 있습니다:
S3의 JSON 파일 쿼리하기
출력 형식 구성
CSV이지만, output_format 매개변수로 변경할 수 있습니다.
chDB는 ClickHouse 데이터 포맷과 자체 포맷 일부를 지원하며, 여기에는 Pandas 데이터프레임을 반환하는 DataFrame도 포함됩니다:
JSON 파일에서 테이블 생성하기
chDB는 프로세스당 하나의 내장 엔진만 실행하므로 데이터베이스 디렉터리(경로)에는 몇 가지 규칙이 적용됩니다:
- 경로당 하나의 프로세스: chDB 데이터 디렉터리는 한 번에 하나의 운영 체제 프로세스만 열 수 있습니다. 첫 번째 프로세스가 닫힐 때까지 동일한 경로를 열려는 두 번째 프로세스는 실패합니다.
- 프로세스당 하나의 경로: 세션 또는 연결이 열려 있는 동안 다른 경로에 대한 세션이나 연결을 추가로 열면 실패합니다. 오류를 방지하려면 먼저 열려 있는 세션이나 연결을 닫으십시오. 동일한 경로의 여러 세션이나 연결은 함께 사용할 수 있습니다.
- 동시성: 동일한 경로의 세션이나 연결은 쿼리를 동시에 실행할 수 있습니다.
- 경로 없는 세션은 공유됩니다: 경로를 지정하지 않으면 세션은 프로세스 전체에서 공유되는
:memory:데이터베이스를 사용하므로 빈 세션에서도 서로의 테이블을 볼 수 있으며, 임시 디렉터리는 마지막 세션이 닫힐 때만 제거됩니다.
CREATE...EMPTY AS 기법을 사용해 JSON 파일의 스키마를 기반으로 dislikes 테이블을 생성할 수 있습니다.
모든 컬럼 타입이 Nullable로 지정되지 않도록 schema_inference_make_columns_nullable 설정을 사용합니다.
DESCRIBE 절을 사용해 스키마를 살펴볼 수 있습니다:
CREATE...AS 기법을 사용하면 이 두 단계를 한 번에 처리할 수도 있습니다.
이 기법을 사용해 다른 테이블을 만들어 보겠습니다: