Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

선박 위치 관측과 TSP 참조 만들기

Pipeline Builder에서 위치 관측을 시계열 형식으로 변환하고, 같은 시계열 ID를 참조하는 Ship 객체 기반 데이터셋을 만듭니다.

가상 입력

다음 데이터를 데이터셋으로 가져와 새 파이프라인에 추가합니다. ship_id는 String, timestamp는 Timestamp, longitude와 latitude는 Double로 구성합니다. 이 예제의 시각은 UTC를 기준으로 입력합니다.

ship_idtimestamplongitudelatitude
ship-0012025-01-01T08:00:00Z139.749235.7607
ship-0012025-01-01T14:00:00Z140.009735.2652
ship-0012025-01-01T20:00:00Z139.593235.7231
ship-0022025-01-02T08:00:00Z135.760935.1223
ship-0022025-01-02T14:00:00Z135.982135.3055
ship-0022025-01-02T20:00:00Z136.201535.4878

관측값을 세로로 변환

Unpivot 변환에서 latitude와 longitude를 선택합니다. Name column은 series_name, Value column은 series_value로 지정하고 ship_id와 timestamp는 남깁니다.

Concatenate strings로 series_name과 ship_id를 이 순서대로 결합합니다. Separator는 밑줄이며 출력 열 이름은 series_id입니다.

예를 들어 첫 위치 관측은 다음 두 행이 됩니다.

series_idseries_nameseries_valueship_idtimestamp
latitude_ship-001latitude35.7607ship-0012025-01-01T08:00:00Z
longitude_ship-001longitude139.7492ship-0012025-01-01T08:00:00Z

여섯 위치 관측은 열두 시계열 관측 행으로 바뀝니다. 각 선박에 위도와 경도 시계열이 하나씩 있으므로 시계열 ID는 모두 네 개입니다.

Ship 객체의 기반 데이터셋

series_id를 만든 노드에서 객체 데이터용 분기를 추가합니다.

  1. Drop columns로 timestamp, series_value, series_name과 series_id를 제거하고 ship_id는 남깁니다.
  2. Concatenate strings에서 문자열 상수 latitude와 ship_id를 밑줄로 결합해 latitude_series_id를 만듭니다.
  3. 별도 Concatenate strings 변환에서 문자열 상수 longitude와 ship_id를 밑줄로 결합해 longitude_series_id를 만듭니다.
  4. Drop duplicates의 Column subset을 ship_id로 정하여 선박마다 한 행만 남깁니다. ship_id 열은 객체의 기본 키로 계속 사용합니다.

결과는 다음과 같습니다. 세 열은 모두 String입니다.

longitude_series_idlatitude_series_idship_id
longitude_ship-001latitude_ship-001ship-001
longitude_ship-002latitude_ship-002ship-002

이 노드에서 Add output > New dataset을 선택합니다.

이름을 cleansed-ship-information-dataset처럼 정하고 Save 후 Deploy로 데이터셋을 만듭니다.

시계열 동기화 분기

series_id를 만들었던 노드로 돌아갑니다. 시각과 관측값을 제거한 객체 데이터 분기가 아닌, 모든 관측을 가진 노드에서 새 분기를 만듭니다.

ship_id와 series_name을 제거하고 series_value를 Double로 캐스팅합니다. 이 출력에는 series_id, timestamp와 series_value가 남습니다.

마지막 노드에서 Add output > New time series sync를 선택하고 오른쪽 Pipeline Outputs를 설정합니다.

설정열
Series IDseries_id
Timetimestamp
Valueseries_value

Save 후 Deploy로 동기화를 만듭니다. 출력은 파이프라인과 같은 Compass 폴더에 저장됩니다.

시계열 형식의 데이터셋만 출력하고 나중에 동기화를 구성할 수도 있습니다. 여기서는 파이프라인에서 동기화를 함께 만들어 온톨로지 설정에서 바로 선택합니다.