

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# JupyterLab SQL 확장의 SQL 편집기 기능
<a name="sagemaker-sql-extension-features-editor"></a>

SQL 확장은 JupyterLab 노트북 셀 내에서 SQL 편집기 기능을 활성화하는 매직 명령을 제공합니다.

SageMaker 배포 이미지 버전 1.6의 사용자인 경우 JupyterLab 노트북에서 `%load_ext amazon_sagemaker_sql_magic`을 실행하여 SQL 확장 매직 라이브러리를 로드해야 합니다. 그러면 SQL 편집 기능이 켜집니다.

SageMaker 배포 이미지 버전 1.7 이상 사용자의 경우 작업이 필요하지 않으며 SQL 확장이 자동으로 로드됩니다.

확장이 로드되면 셀 시작 부분에 `%%sm_sql` 매직 명령을 추가하여 SQL 편집기의 다음 기능을 활성화합니다.
+ **연결 선택 드롭다운**: 셀에 `%%sm_sql` 매직 명령을 추가하면 사용 가능한 데이터 소스 연결이 포함된 드롭다운 메뉴가 셀 상단에 나타납니다. 연결을 선택하여 해당 데이터 소스를 쿼리하는 데 필요한 파라미터를 자동으로 채웁니다. 다음은 `connection-name`이라는 연결을 선택하여 생성된 `%%sm_sql` 매직 명령 문자열의 예입니다.

  ```
  %%sm_sql --metastore-type GLUE_CONNECTION --metastore-id connection-name
  ```

  아래 SQL 편집기의 기능을 사용하여 SQL 쿼리를 빌드한 다음 셀을 실행하여 쿼리를 실행합니다. SQL 실행 기능에 대한 자세한 내용은 [JupyterLab SQL 확장의 SQL 실행 기능](sagemaker-sql-extension-features-sql-execution.md) 섹션을 참조하세요.
+ **쿼리 결과 드롭다운**: 연결 선택 드롭다운 메뉴 옆의 드롭다운 메뉴에서 결과 유형을 선택하여 쿼리 결과를 렌더링하는 방법을 지정할 수 있습니다. 다음 두 가지 대안 중에서 선택합니다.
  + **셀 출력**: (기본값) 이 옵션은 노트북 셀 출력 영역에 쿼리 결과를 표시합니다.
  + **Pandas Dataframe**: 이 옵션은 Pandas DataFrame을 쿼리 결과로 채웁니다. 추가 입력 상자를 사용하면 이 옵션을 선택할 때 DataFrame의 이름을 지정할 수 있습니다.
+ **SQL 구문 강조 표시**: 셀은 색상 및 스타일링별로 SQL 키워드, 절, 연산자 등을 자동으로 시각적으로 구분합니다. 이렇게 하면 SQL 코드를 더 쉽게 읽고 이해할 수 있습니다. `SELECT`, `FROM`, `WHERE` 등의 키워드와 `SUM` 및 `COUNT`와 같은 기본 제공 함수 또는 `GROUP BY` 등의 절은 다른 색상과 굵은 스타일로 강조 표시됩니다.
+ **SQL 형식 지정**: 다음 방법 중 하나로 일관된 들여쓰기, 대문자, 공백 및 줄 바꿈을 적용하여 SQL 문 및 절을 그룹화하거나 분리할 수 있습니다. 이렇게 하면 SQL 코드를 더 쉽게 읽고 이해할 수 있습니다.
  + SQL 셀을 마우스 오른쪽 버튼으로 클릭하고 **SQL 형식 지정**을 선택합니다.
  + SQL 셀에 포커스가 있는 경우 Windows에서는 *ALT \$1 F* 단축키, MacOS에서는 *Option \$1 F*를 사용합니다.
+ **SQL 자동 완성**: 확장은 입력 시 SQL 키워드, 함수, 테이블 이름, 열 이름 등의 자동 제안 및 자동 완성을 제공합니다. `SELECT` 또는 `WHERE`와 같은 SQL 키워드를 입력하기 시작하면 확장에 단어의 나머지 부분을 자동으로 완성하기 위한 제안이 팝업으로 표시됩니다. 예를 들어, 테이블 또는 열 이름을 입력할 때 데이터베이스 스키마에 정의된 테이블 및 열 이름 중 일치하는 것을 제안합니다.
**중요**  
JupyterLab 노트북에서 SQL 자동 완성을 활성화하려면 SageMaker AI 배포 이미지 버전 1.6의 사용자가 터미널에서 다음 `npm install -g vscode-jsonrpc sql-language-server` 명령을 실행해야 합니다. 설치가 완료되면 `restart-jupyter-server`를 실행하여 JupyterLab 서버를 다시 시작합니다.  
SageMaker 배포 이미지 버전 1.7 이상 사용자의 경우 작업이 필요하지 않습니다.

  셀은 인식된 SQL 키워드를 자동으로 완성하는 두 가지 방법을 제공합니다.
  + 명시적 호출(권장): **Tab** 키를 선택하여 컨텍스트 인식 제안 메뉴를 시작한 다음 **Enter**를 선택하여 제안 항목을 수락합니다.
  + 연속 힌트: 입력 시 셀에서 자동으로 완성된 단어를 제안합니다.
**참고**  
SQL 키워드가 대문자인 경우에만 자동 완성이 트리거됩니다. 예를 들어 `SEL`이라고 입력하면 `SELECT`가 트리거되지만 `sel`이라고 입력하면 트리거되지 않습니다.
데이터 소스에 처음 연결할 때 SQL 자동 완성은 데이터 소스의 메타데이터를 인덱싱합니다. 이 인덱싱 프로세스는 데이터베이스 크기에 따라 완료하는 데 다소 시간이 걸릴 수 있습니다.