

# PySpark 확장 유형
<a name="aws-glue-api-crawler-pyspark-extensions-types"></a>

AWS Glue PySpark 확장에 사용된 유형.

## 데이터 유형
<a name="aws-glue-api-crawler-pyspark-extensions-types-awsglue-datatype"></a>

다른 AWS Glue 유형의 베이스 클래스.

**`__init__(properties={})`**
+ `properties` - 데이터 유형의 속성(선택 사항)입니다.

 

**`typeName(cls)`**

AWS Glue 유형 클래스(즉, 끝에서 "Type"이 제거된 클래스)의 유형을 반환합니다.
+ `cls` – `DataType`에서 파생된 AWS Glue 클래스 인스턴스입니다.

 

`jsonValue( )`

클래스 속성의 데이터 유형을 포함하는 JSON 객체를 반환합니다.

```
  {
    "dataType": typeName,
    "properties": properties
  }
```

## AtomicType 및 단순 파생물
<a name="aws-glue-api-crawler-pyspark-extensions-types-awsglue-atomictype"></a>

[데이터 유형](#aws-glue-api-crawler-pyspark-extensions-types-awsglue-datatype) 클래스에서 상속되고 확장되며 모든 AWS Glue 원자 데이터 유형의 베이스 클래스로서 역할을 합니다.

**`fromJsonValue(cls, json_value)`**

JSON 객체의 값으로 클래스 인스턴스를 초기화합니다.
+ `cls` – 초기화할 AWS Glue 유형 클래스 인스턴스입니다.
+ `json_value` – JSON 객체에서 키-값 페어를 로드합니다.

 

다음 유형은 [AtomicType](#aws-glue-api-crawler-pyspark-extensions-types-awsglue-atomictype) 클래스의 단순 파생물입니다.
+ `BinaryType` – 이진 데이터입니다.
+ `BooleanType` – 부울 값입니다.
+ `ByteType` - 바이트 값입니다.
+ `DateType` - 날짜/시간 값입니다.
+ `DoubleType` – 부동 소수점 값입니다.
+ `IntegerType` – 정수 값입니다.
+ `LongType` - 정수(long) 값입니다.
+ `NullType` – null 값입니다.
+ `ShortType` - 정수(short) 값입니다.
+ `StringType` - 텍스트 문자열입니다.
+ `TimestampType` – 타임스탬프 값(일반적으로 1/1/1970에서 초 단위)입니다.
+ `UnknownType` - 식별되지 않은 유형의 값입니다.

## DecimalType(AtomicType)
<a name="aws-glue-api-crawler-pyspark-extensions-types-awsglue-decimaltype"></a>

[AtomicType](#aws-glue-api-crawler-pyspark-extensions-types-awsglue-atomictype) 클래스에서 상속받고 확장하여 십진수(이진수 기반 2 숫자와 반대 개념인 십진수로 표현된 수)를 나타냅니다.

**`__init__(precision=10, scale=2, properties={})`**
+ `precision` – 십진수의 단위 수입니다(선택; 기본값이 10).
+ `scale` – 십진수 오른쪽의 단위 수입니다(선택; 기본값이 2).
+ `properties` – 십진수 유형의 속성(선택 사항).

## EnumType(AtomicType)
<a name="aws-glue-api-crawler-pyspark-extensions-types-awsglue-enumtype"></a>

[AtomicType](#aws-glue-api-crawler-pyspark-extensions-types-awsglue-atomictype) 클래스에서 상속받고 확장되어 유효한 옵션을 열거합니다.

**`__init__(options)`**
+ `options` – 열거된 옵션 목록입니다.

##  컬렉션 형식
<a name="aws-glue-api-crawler-pyspark-extensions-types-awsglue-collections"></a>
+ [ArrayType(DataType)](#aws-glue-api-crawler-pyspark-extensions-types-awsglue-arraytype)
+ [ChoiceType(DataType)](#aws-glue-api-crawler-pyspark-extensions-types-awsglue-choicetype)
+ [MapType(DataType)](#aws-glue-api-crawler-pyspark-extensions-types-awsglue-maptype)
+ [필드(객체)](#aws-glue-api-crawler-pyspark-extensions-types-awsglue-field)
+ [StructType(DataType)](#aws-glue-api-crawler-pyspark-extensions-types-awsglue-structtype)
+ [EntityType(DataType)](#aws-glue-api-crawler-pyspark-extensions-types-awsglue-entitytype)

## ArrayType(DataType)
<a name="aws-glue-api-crawler-pyspark-extensions-types-awsglue-arraytype"></a>

**`__init__(elementType=UnknownType(), properties={})`**
+ `elementType` – 배열의 요소 유형(선택; 기본값은 UnknownType입니다).
+ `properties` - 배열의 속성입니다(선택 사항).

## ChoiceType(DataType)
<a name="aws-glue-api-crawler-pyspark-extensions-types-awsglue-choicetype"></a>

**`__init__(choices=[], properties={})`**
+ `choices` - 가능한 선택 항목의 목록입니다(선택 사항).
+ `properties` - 이러한 선택 항목의 속성입니다(선택 사항).

 

**`add(new_choice)`**

가능한 선택 목록에 새로운 선택을 추가합니다.
+ `new_choice` – 가능한 선택 항목 목록에 추가할 선택 항목입니다.

 

**`merge(new_choices)`**

기존 선택 목록과 새로운 선택 목록을 병합합니다.
+ `new_choices` – 기존 선택 항목과 병합할 새 선택 항목 목록입니다.

## MapType(DataType)
<a name="aws-glue-api-crawler-pyspark-extensions-types-awsglue-maptype"></a>

**`__init__(valueType=UnknownType, properties={})`**
+ `valueType` – 맵 값의 유형(선택; 기본값은 UnknownType입니다).
+ `properties` - 맵의 속성입니다(선택 사항).

## 필드(객체)
<a name="aws-glue-api-crawler-pyspark-extensions-types-awsglue-field"></a>

[데이터 유형](#aws-glue-api-crawler-pyspark-extensions-types-awsglue-datatype)에서 상속받은 객체에서 필드 객체를 생성합니다.

**`__init__(name, dataType, properties={})`**
+ `name` – 필드에 지정된 이름입니다.
+ `dataType` - 필드를 생성할 객체입니다.
+ `properties` - 필드의 속성입니다(선택 사항).

## StructType(DataType)
<a name="aws-glue-api-crawler-pyspark-extensions-types-awsglue-structtype"></a>

데이터 구조를 정의합니다 (`struct`).

**`__init__(fields=[], properties={})`**
+ `fields` – 구조에 포함할 `Field` 유형의 필드는 목록입니다(선택 사항).
+ `properties` - 구조의 속성입니다(선택 사항).

 

**`add(field)`**
+ `field` – 구조에 추가할 `Field` 유형의 객체입니다.

 

**`hasField(field)`**

이 구조가 동일 이름의 필드를 가지고 있다면 `True`를 반환하고 그렇지 않으면 `False`를 반환합니다.
+ `field` - 필드 이름 혹은 이름이 사용된 `Field` 유형의 객체입니다.

 

**`getField(field)`**
+ `field` - 필드 이름 혹은 이름이 사용된 `Field` 유형의 객체입니다. 구조가 동일 이름의 필드를 가지고 있다면 이것은 반환됩니다.

## EntityType(DataType)
<a name="aws-glue-api-crawler-pyspark-extensions-types-awsglue-entitytype"></a>

`__init__(entity, base_type, properties)`

이 클래스는 아직 구현되지 않았습니다.

##  기타 유형
<a name="aws-glue-api-crawler-pyspark-extensions-types-awsglue-other-types"></a>
+ [DataSource(객체)](#aws-glue-api-crawler-pyspark-extensions-types-awsglue-data-source)
+ [DataSink(객체)](#aws-glue-api-crawler-pyspark-extensions-types-awsglue-data-sink)

## DataSource(객체)
<a name="aws-glue-api-crawler-pyspark-extensions-types-awsglue-data-source"></a>

**`__init__(j_source, sql_ctx, name)`**
+ `j_source` - 데이터 원본입니다.
+ `sql_ctx` - SQL 컨텍스트입니다.
+ `name` – 데이터 원본 이름입니다.

 

**`setFormat(format, **options)`**
+ `format` – 데이터 원본을 설정하기 위한 포맷입니다.
+ `options` – 데이터 원본을 설정하기 위한 옵션 모음입니다. 형식 옵션에 대한 자세한 내용은 [AWS Glue for Spark에서 입력 및 출력의 데이터 형식 옵션](aws-glue-programming-etl-format.md) 섹션을 참조하세요.

 

`getFrame()`

데이터 원본을 위한 `DynamicFrame`을 반환합니다.

## DataSink(객체)
<a name="aws-glue-api-crawler-pyspark-extensions-types-awsglue-data-sink"></a>

**`__init__(j_sink, sql_ctx)`**
+ `j_sink` - 생성할 싱크입니다.
+ `sql_ctx` – 데이터 싱크를 위한 SQL 컨텍스트입니다.

 

**`setFormat(format, **options)`**
+ `format` - 데이터 싱크에 대해 설정할 포맷입니다.
+ `options` – 데이터 싱크를 설정하기 위한 옵션 모음입니다. 형식 옵션에 대한 자세한 내용은 [AWS Glue for Spark에서 입력 및 출력의 데이터 형식 옵션](aws-glue-programming-etl-format.md) 섹션을 참조하세요.

 

**`setAccumulableSize(size)`**
+ `size` – 바이트 단위로 설정할 늘어날 수 있는 사이즈입니다.

 

**`writeFrame(dynamic_frame, info="")`**
+ `dynamic_frame` - 작성할 `DynamicFrame`입니다.
+ `info` - `DynamicFrame`에 대한 정보입니다(선택 사항).

 

**`write(dynamic_frame_or_dfc, info="")`**

`DynamicFrame` 혹은 `DynamicFrameCollection` 작성.
+ `dynamic_frame_or_dfc` – 작성할 `DynamicFrame` 객체 또는 `DynamicFrameCollection` 객체입니다.
+ `info`- 작성할 `DynamicFrame` 또는 `DynamicFrames`에 대한 정보입니다(선택 사항).