Snowpark Migration Accelerator: SMA 인벤토리¶
Snowpark Migration Accelerator(SMA)는 코드베이스를 분석하여 상세한 데이터를 생성하며, 이 데이터는 보고서 폴더에 스프레드시트(인벤토리)로 저장됩니다. 이 데이터는 두 가지 유형의 보고서를 생성하는 데 사용됩니다.
인벤토리 파일을 이해하는 것이 처음에는 어려워 보일 수 있지만, 소스 워크로드와 변환된 워크로드 모두에 대한 귀중한 인사이트를 제공합니다. 아래에서 각 출력 파일과 해당 열에 대해 자세히 설명합니다.
이러한 인벤토리는 원격 측정 데이터 수집을 통해서도 공유됩니다. 자세한 내용은 이 설명서의 원격 측정 섹션을 참조하십시오.
평가 보고서 세부 정보¶
AssessmentReport.json 파일은 애플리케이션의 상세 보고서 및 평가 요약 섹션에 표시되는 데이터를 저장합니다. 이 파일은 주로 이러한 보고서를 채우는 데 사용되며 다른 스프레드시트에서도 사용할 수 있는 정보를 포함할 수 있습니다.
DBX 요소 인벤토리¶
DbxElementsInventory.csv에는 노트북 파일 내에서 발견된 DBX 요소 목록이 포함되어 있습니다.
요소: DBX 요소 이름입니다.
ProjectId: 프로젝트의 이름(도구가 실행된 루트 디렉터리)입니다.
FileId: 요소가 발견된 파일 및 해당 파일의 상대 경로입니다.
개수: 해당 요소가 한 라인에 표시되는 횟수입니다.
카테고리: 요소 카테고리입니다.
별칭: 요소의 별칭입니다(가져오기 요소에만 적용됨).
종류: 각 요소의 카테고리입니다. 여기에는 함수 또는 Magic이 포함될 수 있습니다.
라인: 요소가 발견된 소스 파일의 라인 번호입니다.
PackageName: 요소가 발견된 패키지의 이름입니다.
지원됨: 이 참조가 “지원”되는지 여부입니다. 값은 True 또는 False입니다.
자동화됨: 도구가 자동으로 변환을 할 수 있는지 여부입니다. 값은 True 또는 False입니다.
상태: 각 요소의 분류입니다. 옵션은 이름 바꾸기, 직접, 헬퍼, 변환, WorkAround, NotSupported, NotDefined입니다.
문: 요소가 사용된 코드입니다. [NOTE: 이 열은 원격 분석을 통해 전송되지 않습니다.]
SessionId: 도구가 실행될 때마다 할당되는 고유 식별자입니다.
SnowConvertCoreVersion: 도구의 핵심 코드 프로세스에 대한 버전 번호입니다.
SnowparkVersion: 지정된 기술 및 도구 실행에 사용할 수 있는 Snowpark API 버전입니다.
CellId: 노트북 파일 내에서 이 요소가 발견된 셀의 번호가 매겨진 위치입니다.
ExecutionId: SMA가 실행될 때 할당되는 고유 식별자입니다.
실행 흐름 인벤토리¶
ExecutionFlowInventory.csv에는 발견된 함수 호출을 기반으로 다양한 워크로드 범위 간의 관계 목록이 포함되어 있습니다. 이 인벤토리의 주요 목적은 진입점 식별을 위한 기초 자료로 활용하는 것입니다.
호출자: 호출이 발견된 범위의 전체 이름입니다.
CallerType: 호출이 발견된 범위의 유형입니다. 다음과 같을 수 있습니다. 함수, 클래스 또는 모듈일 수 있습니다.
호출됨: 호출된 요소의 전체 이름입니다.
InvokedType: 요소의 유형입니다. 함수 또는 클래스일 수 있습니다.
FileId: 파일의 상대 경로입니다. (사용자가 SMA 도구에서 선택한 입력 폴더에서 시작)
CellId: 노트북 파일 내에서 호출이 발견된 셀의 번호입니다(해당하는 경우).
라인: 호출이 발견된 라인의 번호입니다.
열: 호출이 발견된 열의 번호입니다.
ExecutionId: 실행 ID입니다.
검사점 인벤토리¶
Checkpoints.csv에는 사용자 워크로드에 대해 생성된 검사점 목록이 포함되어 있으며, 이러한 검사점은 Snowflake Exentesion의 검사점 기능에서 완전히 사용할 수 있습니다.
이름: 검사점 이름입니다(앞에서 설명한 형식 사용).
FileId: 파일의 상대 경로(사용자가 SMA 도구에서 선택한 입력 폴더에서 시작)입니다.
CellId: 노트북 파일 내에서 DataFrame 작업이 발견된 셀의 번호입니다.
라인: DataFrame 작업이 발견된 라인의 번호입니다.
열: DataFrame 작업이 발견된 열의 번호입니다.
유형: 검사점의 사용 사례입니다(컬렉션 또는 유효성 검사).
DataFrameName: DataFrame의 이름입니다.
위치: DataFrame 이름의 할당 번호입니다.
활성화됨: 검사점이 활성화되었는지 여부를 나타냅니다(True 또는 False).
모드: 컬렉션의 모드 번호(Schema [1] 또는 DataFrame[2])입니다.
샘플: DataFrame의 샘플입니다.
EntryPoint: 검사점을 실행하는 흐름을 안내하는 진입점입니다.
ExecutionId: 실행 ID입니다.
DataFrames 인벤토리¶
DataFramesInventory.csv에는 사용자 워크로드에 대한 검사점을 생성하는 데 사용할 데이터 프레임 할당 목록이 포함되어 있습니다.
FullName: DataFrame의 전체 이름입니다.
이름: DataFrame의 변수에 대한 간단한 이름입니다.
FileId: 파일의 상대 경로(사용자가 SMA 도구에서 선택한 입력 폴더에서 시작)입니다.
**CellId: ** 노트북 파일 내에서 DataFrame 작업이 발견된 셀의 번호입니다.
라인: DataFrame 작업이 발견된 라인의 번호입니다.
열: DataFrame 작업이 발견된 열의 번호입니다.
AssignmentNumber: 파일에서 이 특정 식별자(기호 아님)의 할당 번호입니다.
RelevantFunction: 해당 요소가 수집된 이유와 관련된 함수입니다.
RelatedDataFrames: 작업에 포함된 DataFrame의 정규화된 이름(세미콜론으로 구분)입니다.
EntryPoints: 이 단계에서는 비어 있습니다. 이후 단계에서 채워집니다.
ExecutionId: 실행 ID입니다.
아티팩트 종속성 인벤토리¶
ArtifactDependencyInventory.csv에는 SMA에서 분석한 각 파일의 아티팩트 종속성 목록이 포함되어 있습니다. 이 인벤토리를 통해 사용자는 Snowflake에서 파일이 정상적으로 작동하기 위해 필요한 아티팩트를 확인할 수 있습니다.
서드 파티 라이브러리, SQL 엔터티, 읽기 또는 쓰기 작업의 소스, 워크로드의 다른 소스 코드 파일 등은 아티팩트로 간주됩니다.
ExecutionId: 실행의 식별자입니다.
FileId: 소스 코드 파일의 식별자입니다.
종속성: 현재 파일에 있는 아티팩트 종속성입니다.
유형: 아티팩트 종속성의 유형입니다.
UserCodeFile: 소스 코드 또는 노트북입니다.
IOSources: 입력 및 출력 작업에 필요한 리소스입니다.
ThirdPartyLibraries: 서드 파티 라이브러리입니다.
UnknownLibraries: SMA에 의해 출처가 결정되지 않은 라이브러리입니다.
SQLObjects: SQL 엔터티(예: 테이블 또는 뷰)입니다.
성공: 아티팩트에 개입이 필요한 경우 FALSE가 표시되며 그렇지 않은 경우 TRUE가 표시됩니다.
Status_Detail: 유형에 따른 아티팩트 종속성의 상태입니다.
UserCodeFile:
구문 분석됨: 파일이 성공적으로 구문 분석되었습니다.
NotParsed: 파일 구문 분석에 실패했습니다.
IOSources:
존재함: 작업의 리소스가 워크로드에 있습니다.
DoesNotExists: 작업의 리소스가 입력에 없습니다.
ThirdPartyLibraries:
지원됨: 라이브러리가 Snowpark Anaconda에서 지원됩니다.
NotSupported: 라이브러리가 Snowpark Anaconda에서 지원되지 않습니다.
UnknownLibraries:
NotSupported: SMA에 의해 출처가 결정되지 않았기 때문입니다.
SQLObject
DoesNotExists: 엔터티를 생성하는 임베드된 문이 입력 소스 코드에 없습니다.
존재함: 엔터티를 생성하는 임베드된 문이 입력 소스 코드에 있습니다.
인자: 유형을 기반으로 하는 아티팩트 종속성의 추가 데이터입니다.
위치: 소스 코드 파일에서 아티팩트 종속성이 사용되는 위치의 셀 ID 및 라인 번호 컬렉션입니다.
IndirectDependencies: 직접적으로는 아니지만 이 파일이 사용하는 다른 파일의 목록입니다.
TotalIndirectDependencies: 간접 종속성의 총 개수입니다.
DirectParents: 이 파일을 직접 사용하는 파일의 목록입니다.
TotalDirectParents: 직접 상위 파일의 총 개수입니다.
IndirectParents: (다른 파일을 통해) 이 파일을 간접적으로 사용하는 파일의 목록입니다.
TotalIndirectParents: 간접 상위 파일의 총 개수입니다.
파일 인벤토리¶
files.csv 에는 도구 실행 중에 처리된 모든 파일의 파일 유형과 크기를 포함한 전체 목록이 포함되어 있습니다.
경로: 루트 디렉터리를 기준으로 한 파일 위치입니다. 예를 들어, 루트 디렉터리에 있는 파일은 해당 파일 이름만 표시됩니다.
기술: 소스 코드의 프로그래밍 언어(Python 또는 Scala)
FileKind: 파일에 소스 코드가 포함되어 있는지 또는 다른 유형(예: 텍스트 또는 로그 파일)인지 식별합니다
BinaryKind: 파일이 사람이 읽을 수 있는 텍스트인지 이진 파일인지를 나타냅니다
바이트: 바이트 단위로 측정된 파일 크기입니다
SupportedStatus: 파일 지원 상태는이 컨텍스트에 적용되지 않으므로 항상 “DoesNotApply”가 표시됩니다
사용량 인벤토리 가져오기¶
ImportUsagesInventory.csv 파일에는 코드베이스에 있는 모든 외부 라이브러리 가져오기 목록이 포함되어 있습니다. 외부 라이브러리는 소스 코드 파일로 가져오는 패키지 또는 모듈입니다.
요소: Spark 참조의 고유 식별자입니다
ProjectId: 도구가 실행된 루트 디렉터리 이름입니다
FileId: Spark 참조가 포함된 상대 경로 및 파일 이름입니다
카운트: 한 라인에서 요소의 발생 횟수
별칭: 요소의 대체 이름(선택 사항)
Kind: 모든 요소가 가져오기이므로 항상 비어 있음/null
라인: 요소가 표시되는 소스 코드 라인 번호
PackageName: 요소가 포함된 패키지
지원됨: 참조를 변환할 수 있는지 여부(true/false)를 나타냅니다
자동화됨: 비어 있음/null(사용되지 않는 열)
상태: 항상 “유효하지 않음”(사용되지 않는 열)
문: 요소를 사용한 실제 코드 [원격 측정에 포함되지 않음]
SessionId: 각 도구 실행에 대한 고유 식별자
SnowConvertCoreVersion: 도구의 코어 처리 엔진 버전 번호
SnowparkVersion: 특정 기술에 대한 Snowpark API 버전 사용 가능
ElementPackage: 가져온 요소가 포함된 패키지 이름(사용할 수 있는 경우)
CellId: 노트북 파일의 경우, 해당 요소가 포함된 셀 번호를 나타냅니다
ExecutionId: 이 SMA 실행의 고유 식별자
출처: 가져오기의 소스 유형(BuiltIn, ThirdPartyLib 또는 공백)
입력 파일 인벤토리¶
InputFilesInventory.csv 파일에는 파일 유형과 크기에 따라 조직된 모든 파일의 자세한 목록이 포함되어 있습니다.
요소: 파일 이름, FileId 와 동일함
ProjectId: 도구가 실행된 루트 디렉터리로 표시되는 프로젝트 이름입니다
FileId: Spark 참조가 포함된 파일의 전체 경로(상대 경로로 표시됨)
개수: 이 파일 이름을 공유하는 파일 수입니다
SessionId: 각 도구 세션에 할당된 고유 식별자
확장자: 파일 확장자 유형
기술: 파일 확장자에 따라 결정되는 프로그래밍 언어 또는 기술 유형입니다
바이트: 바이트 단위로 측정된 파일 크기입니다
CharacterLength: 파일 내 총 문자 수
LinesOfCode: 파일 내 총 코드 라인 수
ParsingResult: 셀이 성공적으로 구문 분석되었는지(“성공”) 또는 오류가 발생했는지(“오류”)를 나타냅니다
입력 및 출력 파일 인벤토리¶
IOFilesInventory.csv 파일에는 코드에서 읽거나 쓰는 모든 외부 파일 및 리소스 목록이 포함되어 있습니다.
요소: 읽기 또는 쓰기 작업을 위해 액세스하는 특정 항목(파일, 변수 또는 구성 요소)입니다
ProjectId: 도구가 실행된 루트 디렉터리 이름입니다
FileId: Spark 코드가 감지된 전체 경로 및 파일 이름
개수: 이 파일 이름의 발생 횟수입니다
isLiteral: 읽기/쓰기 위치가 리터럴 값으로 지정되었는지 여부를 나타냅니다
형식: 감지된 파일 형식(예: CSV, JSON)을 SMA 에서 식별할 수 있는 경우
FormatType: 식별자 형식이 명시적지 여부를 지정합니다
모드: 작업이 “읽기” 또는 “쓰기”인지 여부를 나타냅니다
지원됨: Snowpark가 이 작업을 지원하는지 여부를 나타냅니다
라인: 읽기 또는 쓰기 작업이 발생하는 파일의 라인 번호입니다
SessionId: 각 도구 세션에 할당된 고유 식별자
OptionalSettings: 요소에 대해 정의된 추가 매개 변수를 나열합니다
CellId: 노트북 파일의 경우, 특정 셀 위치를 식별합니다(노트북이 아닌 파일의 경우 null)
ExecutionId: 도구가 실행될 때마다 고유 식별자
문제 인벤토리¶
Issues.csv 파일에는 코드베이스에서 발견된 모든 변환 문제에 대한 자세한 보고서가 포함되어 있습니다. 각 문제에 대해 다음을 확인할 수 있습니다.
문제를 설명하는 설명
문제가 발생한 파일 내의 정확한 위치
문제 유형에 대한 고유 코드 식별자
특정 문제에 대한 자세한 내용은 설명서의 문제 분석 섹션을 참조하십시오.
코드: 도구가 감지한 각 문제에 할당된 고유 식별자입니다
설명: 해당되는 경우 Spark 참조 이름을 포함하여 문제에 대한 자세한 설명
카테고리: 발견된 문제의 유형으로, 다음 중 하나일 수 있습니다.
경고
변환 오류
구문 분석기 오류
헬퍼
변환
WorkAround
NotSupported
NotDefined
NodeType: 문제가 감지된 구문 노드 식별자입니다
FileId: Spark 참조가 발견된 상대 경로 및 파일 이름입니다
ProjectId: 도구가 실행된 루트 디렉터리 이름입니다
라인: 문제가 발생한 소스 파일의 특정 라인 번호입니다
열: 문제가 발생한 라인의 특정 문자 위치입니다
조인 인벤토리¶
JoinsInventory.csv 파일에는 코드베이스에 있는 모든 데이터프레임 조인 작업의 포괄적인 목록이 포함되어 있습니다.
요소: 행 번호: 조인이 시작되는 위치(여러 행에 걸쳐 있는 경우 끝나는 위치)를 나타내는 행 번호입니다
ProjectId: 도구가 실행된 루트 디렉터리 이름입니다
FileId: Spark 참조가 포함된 파일의 경로와 이름입니다
개수: 동일한 파일 이름을 가진 파일 수
isSelfJoin: 테이블을 자체와 조인하는 경우 TRUE, 그렇지 않은 경우 FALSE
HasLeftAlias: 조인의 왼쪽에 별칭이 정의된 경우 TRUE, 그렇지 않은 경우 FALSE
HasRightAlias: 조인의 오른쪽에 별칭이 정의된 경우 TRUE, 그렇지 않은 경우 FALSE
라인: 조인의 시작 라인 번호
SessionId: 각 도구 세션에 할당된 고유 식별자
CellId: 요소가 포함된 노트북 셀의 식별자(노트북이 아닌 파일의 경우 null)
ExecutionId: 각 도구 실행에 대한 고유 식별자
노트북 셀 인벤토리¶
NotebookCellsInventory.csv 파일은 소스 코드 내용 및 셀당 코드 라인 수를 포함해 노트북 내의 모든 셀에 대한 자세한 목록을 제공합니다.
요소: 소스 코드에 사용되는 프로그래밍 언어(Python, Scala 또는 SQL)
ProjectId: 도구가 실행된 루트 디렉터리 이름입니다
FileId: Spark 코드가 감지된 전체 경로 및 파일 이름
개수: 이 특정 파일 이름을 가진 파일의 개수입니다
CellId: 노트북 파일의 경우, 코드가 포함된 셀의 고유 식별자(노트북이 아닌 파일의 경우 null)
인자: 이 필드는 항상 비어 있습니다(null)
LOC: 셀의 총 코드 라인 수
크기: 셀의 총 문자 수입니다
SupportedStatus: 셀의 모든 요소가 지원되는지 (TRUE) 또는 지원되지 않는 요소가 있는지 (FALSE) 나타냅니다
ParsingResult: 셀이 성공적으로 구문 분석되었는지(“성공”) 또는 구문 분석 오류가 있었는지(“오류”)를 표시합니다
노트북 크기 인벤토리¶
NotebookSizeInventory.csv 파일은 노트북 파일에 있는 각 프로그래밍 언어에 대한 코드 라인의 요약을 제공합니다.
파일 이름: 스프레드시트 파일의 이름(FileId)과 동일한 이름입니다
ProjectId: 도구가 실행된 루트 디렉터리 이름입니다
FileId: Spark 참조가 포함된 파일의 상대 경로 및 이름입니다
개수: 이 특정 파일 이름을 가진 파일의 개수입니다
PythonLOC: 노트북 셀의 Python 코드 라인 수(일반 파일의 경우 0)
ScalaLOC: 노트북 셀의 Scala 코드 라인 수(일반 파일의 경우 0)
SqlLOC: 노트북 셀의 SQL 코드 라인 수(일반 파일의 경우 0)
라인: 이 필드는 항상 비어(null) 있습니다
SessionId: 각 도구 세션에 할당된 고유 식별자
ExecutionId: 각 도구 실행에 할당된 고유 식별자
Pandas 사용량 인벤토리¶
PandasUsagesInventory.csv 파일에는 스캔 프로세스 중에 Python 코드베이스에서 발견된 모든 Pandas API 참조의 포괄적인 목록이 포함되어 있습니다.
요소: Pandas 참조에 대한 고유 식별자입니다
ProjectId: 도구가 실행된 루트 디렉터리 이름입니다
FileId: Spark 참조가 포함된 파일의 상대 경로입니다
카운트: 한 라인에서 요소의 발생 횟수
별칭: 요소에 사용되는 대체 이름(가져오기에만 적용됨)
종류: 클래스, 변수, 함수, 가져오기 등과 같은 요소의 유형입니다.
라인: 요소가 발견된 소스 파일 라인 번호입니다
PackageName: 요소가 포함된 패키지
지원됨: 참조가 지원되는지 여부(true/false)를 나타냅니다
자동화: 도구가 요소를 자동으로 변환할 수 있는지 여부(true/false)를 나타냅니다
상태: 요소 분류: 이름 바꾸기, 직접, 헬퍼, 변환, WorkAround, NotSupported 또는 NotDefined
문: 해당 요소가 사용되는 컨텍스트 [원격 측정에 포함되지 않음]
SessionId: 각 도구 실행에 대한 고유 식별자
SnowConvertCoreVersion: 도구의 Core 처리 코드 버전 번호
SnowparkVersion: 특정 기술 및 도구 실행에 사용 가능한 Snowpark API 버전
PandasVersion: 코드베이스에서 요소를 식별하는 데 사용되는 Pandas API 버전
CellId: FileId 의 셀 식별자(노트북에만 해당, 그렇지 않으면 null)
ExecutionId: 각 도구 실행에 대한 고유 식별자
Spark 사용량 인벤토리¶
SparkUsagesInventory.csv 파일은 코드에서 Spark API 함수가 사용되는 위치와 방법을 식별합니다. 이 정보는 코드의 마이그레이션 준비 상태를 나타내는 준비도 점수를 계산하는 데 도움이 됩니다.
요소: Spark 참조의 고유 식별자입니다
ProjectId: 도구가 실행된 루트 디렉터리 이름입니다
FileId: Spark 참조가 포함된 상대 경로 및 파일 이름입니다
카운트: 한 라인에서 요소의 발생 횟수
별칭: 요소의 별칭(가져오기 요소에만 적용됨)
종류: 요소의 카테고리(예: 클래스, 변수, 함수, 가져오기)
라인: 요소가 발견된 소스 파일 라인 번호입니다
PackageName: 요소가 포함된 패키지 이름입니다
지원됨: 참조가 지원되는지 여부(true/false)를 나타냅니다
자동화: 도구가 요소를 자동으로 변환할 수 있는지 여부(true/false)를 나타냅니다
상태: 요소 분류 (이름 바꾸기, 직접, 헬퍼, 변환, WorkAround, NotSupported, NotDefined)
문: 해당 요소가 사용되는 실제 코드 [참고: 이 열은 원격 측정을 통해 전송되지 않습니다.]
SessionId: 각 도구 실행에 대한 고유 식별자
SnowConvertCoreVersion: 도구의 코어 프로세스 버전 번호입니다
SnowparkVersion: 특정 기술 및 도구 실행에 사용 가능한 Snowpark API 버전
CellId: 노트북 파일의 경우, 요소가 발견된 셀의 숫자 위치입니다
ExecutionId: 이 특정 SMA 실행에 대한 고유 식별자
SqlStatementsInventory.csv 파일에는 Spark SQL 요소에 있는 SQL 키워드 수가 포함되어 있습니다.
요소: SQL 문을 포함하는 코드 요소의 이름입니다
ProjectId: 도구가 실행된 루트 디렉터리 이름
FileId: Spark 참조가 포함된 파일의 상대 경로입니다
카운트: 한 라인에서 요소의 발생 횟수
InterpolationCount: 이 요소에 삽입된 외부 요소 수
키워드: SQL 키워드와 그 빈도가 포함 된 사전
크기: SQL 문의 총 문 수
LiteralCount: 요소의 문자열 리터럴 개수
NonLiteralCount: 문자열 리터럴이 아닌 SQL 구성 요소 개수
라인: 요소가 표시되는 라인 번호
SessionId: 각 도구 세션의 고유 식별자
CellId: 요소가 포함된 노트북 셀의 식별자(노트북에 없는 경우 null)
ExecutionId: 각 도구 실행에 대한 고유 식별자
SQL 요소 인벤토리¶
SQLElementsInventory.csv 파일에는 Spark SQL 요소 내에서 발견되는 SQL 문의 수가 포함되어 있습니다.
SQL 분석 보고서에 포함된 필드는 다음과 같습니다.
요소: SQL 코드 요소 유형 (예: SqlSelect, SqlFromClause)
ProjectId: 도구가 실행된 루트 디렉터리 이름
FileId: SQL 코드가 포함된 파일 경로
카운트: 한 라인에서 요소의 발생 횟수
NotebookCellId: 노트북 셀의 ID
라인: 요소가 표시되는 라인 번호
열: 열: 요소가 표시되는 열 번호입니다
SessionId: 각 도구 세션의 고유 ID
ExecutionId: 각 도구 실행의 고유 ID
SqlFlavor: 분석 대상 SQL 유형(예: Spark SQL, Hive SQL)
RootFullName: 기본 코드 요소의 전체 이름
RootLine: 주요 요소의 라인 번호
RootColumn: 주 요소의 열 번호
TopLevelFullName: 최상위 SQL 문의 전체 이름
TopLevelLine: 최상위 문의 라인 번호
TopLevelColumn: 최상위 문의 열 번호
ConversionStatus: SQL 변환 결과(예: 성공, 실패)
카테고리: SQL 문의 유형(예: DDL, DML, DQL)
EWI: 오류 경고 정보 코드
ObjectReference: 참조되는 SQL 오브젝트의 이름(예: 테이블 이름, 뷰 이름)
SQL 임베디드 사용량 인벤토리¶
SqlEmbeddedUsageInventory.csv 파일에는 Spark SQL 요소에 있는 SQL 키워드 수가 포함되어 있습니다.
요소: 코드에 있는 SQL 구성 요소의 유형(예: Select 문, From 절 또는 숫자 리터럴)
ProjectId: 도구가 실행된 루트 디렉터리 이름입니다
FileId: SQL 참조가 포함된 파일의 위치 및 상대 경로입니다
카운트: 이 요소가 한 라인에 표시되는 횟수
ExecutionId: 각 도구 실행에 할당된 고유 ID
LibraryName: 사용 중인 라이브러리 이름
HasLiteral: 요소에 리터럴 값이 포함되어 있는지 표시합니다
HasVariable: 요소에 변수가 포함되어 있는지 표시합니다
HasFunction: 요소에 함수 호출이 포함되어 있는지 표시합니다
ParsingStatus: 현재 구문 분석 상태(성공, 실패 또는 부분)
HasInterpolation: 요소에 문자열 보간이 포함되어 있는지 표시합니다
CellId: 노트북 셀의 식별자
라인: 요소가 있는 라인 번호입니다
열: 요소를 찾을 수 있는 열 번호입니다
서드 파티 사용 인벤토리¶
ThirdPartyUsagesInventory.csv 파일에는 다음이 포함됩니다
요소: 서드 파티 참조의 고유 식별자입니다
ProjectId: 도구가 실행된 프로젝트의 루트 디렉터리 이름입니다
FileId: Spark 참조가 포함된 파일의 상대 경로입니다
카운트: 한 라인에 포함된 요소의 발생 횟수입니다
별칭: 요소에 할당된 대체 이름(해당되는 경우)
종류: 종류: 요소의 유형 분류(변수, 유형, 함수 또는 클래스)입니다
라인: 요소가 발견된 소스 파일 라인 번호입니다
PackageName: 전체 패키지 이름(Python으로 작성된 ProjectId 및 FileId 의 조합)
문: 해당 요소가 사용되는 실제 코드[참고: 텔레메트리 데이터에 포함되지 않음]
SessionId: 각 도구 세션의 고유 식별자
CellId: 요소가 발견된 노트북 셀 식별자(노트북이 아닌 파일의 경우 null)
ExecutionId: 각 도구 실행에 대한 고유 식별자
패키지 인벤토리¶
packagesInventory.csv 파일에는 다음이 포함됩니다
패키지 이름: 분석 중인 패키지의 이름입니다.
프로젝트 이름: 도구가 실행된 루트 디렉터리에 해당하는 프로젝트의 이름입니다.
파일 위치: 패키지가 발견된 파일 경로(상대 경로로 표시됨)입니다.
발생 횟수: 이 패키지가 한 라인의 코드에 표시되는 횟수입니다.
도구 실행 요약¶
tool_execution.csv 파일에는 현재 Snowpark Migration Accelerator(SMA) 도구의 실행에 대한 필수 정보가 포함되어 있습니다.
ExecutionId: 도구가 실행될 때마다 할당되는 고유 식별자입니다.
ToolName: 사용 중인 도구의 이름입니다. PythonSnowConvert 또는 SparkSnowConvert (Scala의 경우)일 수 있습니다.
Tool_Version: 소프트웨어의 버전 번호입니다.
AssemblyName: 코드 프로세서의 전체 이름(ToolName 의 자세한 버전)입니다.
LogFile: 오류 또는 장애가 발생했을 때 로그 파일이 생성되었는지 여부를 나타냅니다.
FinalResult: 오류 또는 장애가 발생한 경우 도구가 어느 지점에서 중지되었는지를 나타냅니다.
ExceptionReport: 장애가 발생했을 때 오류 보고서가 생성되었는지 여부를 나타냅니다.
StartTime: 도구가 실행되기 시작한 날짜와 시간입니다.
EndTime: 도구 실행이 완료된 날짜와 시간입니다.
SystemName: 도구를 실행한 기계의 일련 번호(문제 해결 및 라이선스 확인에만 사용됨).