SQL 및 PPL CLI

SQL 및 PPL CLI

SQL 및 PPL 명령줄 인터페이스(CLI)는 opensearchsql 명령으로 실행할 수 있는 독립 실행형 Python 애플리케이션이에요. SQL 및 PPL CLI를 사용하려면 OpenSearch 인스턴스에 SQL 플러그인을 설치하고, macOS나 Linux에서 CLI를 실행한 다음, 유효한 OpenSearch 엔드포인트에 연결하면 돼요.

출처: 문서

본문

기능

SQL 및 PPL CLI는 다음과 같은 기능을 제공해요.

  • 다중 줄 입력(Multi-line input)
  • PPL 지원
  • SQL 구문과 인덱스 이름 자동 완성(Autocomplete)
  • 구문 강조(Syntax highlighting)
  • 형식화된 출력: 표 형식, 필드 이름 색상 표시, 터미널 폭이 좁을 때 보기 좋은 수평 표시(기본)와 수직 표시, 큰 출력을 위한 페이지네이션(Pagination)
  • 보안이 켜져 있든 꺼져 있든 동작
  • 구성 파일 로딩 지원
  • 모든 SQL 플러그인 쿼리 지원

설치

로컬 OpenSearch 인스턴스를 실행하고 SQL 플러그인이 설치되어 있는지 확인해요.

  • CLI 설치: pip3 install opensearchsql
  • SQL CLI는 Python 3에서만 동작해요.
  • CLI 실행: opensearchsql https://localhost:9200 --username admin --password admin
  • 기본적으로 opensearchsql 명령은 http://localhost:9200에 연결해요.

구성(Configure)

SQL CLI를 처음 실행하면 구성 파일이 ~/.config/opensearchsql-cli/config(macOS 및 Linux)에 자동으로 생성되고, 이후에는 구성이 자동으로 로드돼요.

다음과 같은 연결 속성을 구성할 수 있어요.

  • endpoint: 옵션을 지정할 필요가 없어요. 시작 명령인 opensearchsql 뒤에 오는 모든 것이 엔드포인트로 간주돼요. 엔드포인트를 제공하지 않으면 기본적으로 SQL CLI가 http://localhost:9200에 연결해요.
  • -u/-w: Security 플러그인이나 Amazon OpenSearch Service의 세분화된 접근 제어와 같은 HTTP 기본 인증을 위한 사용자 이름과 비밀번호를 지원해요.
  • --aws-auth: Amazon OpenSearch 엔드포인트에 연결할 때 AWS Signature Version 4 인증을 켜요. AWS CLI(aws configure)와 함께 사용하여 로컬 AWS 구성을 가져와 인증하고 연결해요.

사용 가능한 모든 구성 목록은 clirc에서 확인할 수 있어요.

CLI 사용하기

  • CLI 도구를 실행해요. 클러스터가 기본 보안 설정으로 동작한다면 다음 명령을 사용해요: opensearchsql --username admin --password admin https://localhost:9200
  • 클러스터가 보안 없이 동작한다면 다음처럼 실행해요:
opensearchsql
  • 샘플 SQL 명령 실행: SELECT * FROM accounts ;
  • 기본적으로 최대 200행의 출력을 볼 수 있어요. 더 많은 결과를 보려면 원하는 값으로 LIMIT 절을 추가해요.
  • CLI 도구를 종료하려면 Ctrl+D를 선택해요.

PPL과 함께 CLI 사용하기

  • 쿼리 언어를 지정하여 CLI 실행: opensearchsql -l ppl <params>
  • PPL 쿼리 실행: source = accounts | fields firstname , lastname

쿼리 옵션(Query options)

다음 명령줄 옵션으로 단일 쿼리를 실행할 수 있어요.

  • -q: 단일 쿼리를 뒤에 붙여요.
  • -f: JDBC 또는 raw 형식 출력을 지정해요.
  • -v: 데이터를 세로로 표시해요.
  • -e: SQL을 DSL로 번역해요.

CLI 옵션(CLI options)

  • --help: 옵션 도움말 페이지
  • -l: 쿼리 언어 옵션. 사용 가능한 옵션은 sql과 ppl이에요. 기본값은 sql이에요.
  • -p: 출력 표시에 항상 페이저(pager)를 사용해요.
  • --clirc: 구성 파일 경로를 제공해요.

더 알아보기 (Learn more)