안녕하세요, Soa입니다!
😊
저번 포스팅에서는 Report 작성 방법에 대해 배워보고 실습을 진행했습니다!
아마 제가 포스팅한 글을 보신 분들은, 실습을 진행하면서
"그럼 Brightics에서 제공하는 데이터 파일만 사용 가능한 건가?"
라는 의문이 드셨을지도 모릅니다.
하지만 Brightics에서는 다양한 형식의 데이터를 사용할 수 있는 거!!!
여러 가지 방법이 있지만 그중에서도 비교적 쉬운
프로그램 내에서 사용 가능한 Script 함수를 사용하는 방법을 소개하고자 합니다.
Script 함수는 SQL, scala, phython, R로 작성된 분석 code를
Brightics에서 사용할 수 있기 때문에,
사용 방법을 알아둔다면 다양한 형식의 데이터를 활용할 수 있겠죠?!
그래서 이번 포스팅에서는 Script 함수에 대해서 알아보려고 합니다!
간단한 예제들을 통해서 Script 함수 사용 방법에 대해서 배워보겠습니다~
■ Script 함수
앞서 말한 것처럼 Script 함수를 사용해서
SQL, scala, phython, R로 작성된 code를 사용할 수 있다고 말씀드렸는데,
여기서 아셔야 할 것은 Script 함수는 하나가 아니라는 것!
어떤 언어로 작성되었는지에 따라서 어떤 Script 함수를 써야 할지를 아셔야 합니다!
그래서 먼저 각 언어에 따라 어떤 Script 함수를 사용해야 하는지에 대해서
먼저 알아보고, 그다음에 간단한 실습 과제를 통해서 실습을 진행하겠습니다.
Brightics에서 제공하는 Script 함수의 종류는 다음과 같습니다.
Brightics에서 위에 해당하는 언어에 따라
함수 이름을 검색해 사용하시면 됩니다.
자세한 사용 방법은 아래 실습에서 설명하겠습니다.
■ Script 함수 : 실습
☞ 실습 과제 : iris data에서 species 별로 average 출력 ☜
[ 실습 진행 순서 ]
1. 함수 생성
2. Statistic Summary 함수
3. Query Executor 함수
4. Phython script 함수
5. Scalar script 함수
먼저, Brightics Studio에서는 SQL과 Phython만 가능하기 때문에
회원가입 및 설치 포스팅에서 신청했던 Brightics AI Trial 버전을 사용해서 실습해보겠습니다!
기억이 잘 나지 않는 분들은 위 링크를 참조해주세요!
저도 다시 한번 복습하는 겸, 좀 더 자세하게 리포팅하도록 하겠습니다.
참고로 이번 포스팅에서는 R script 사용 방법에 대해서는 생략하겠습니다!
R Script는 R 서버가 존재해야 실행이 가능하기 때문에
통합 개발 환경(IDE)인 R Studio 설치 과정과 함께 설명 포스팅을 진행하겠습니다.
(생각 없이 진행하다가 R script 함수가 검색이 안 되는 것을 경험........)
먼저 삼성SDS 홈페이지에 접속한 후, My Trial을 클릭해서 로그인을 진행해주세요.
그 후에는 아래와 같은 '솔루션 실행' 버튼을 클릭해서 Birghtics AI를 실행해주시면 됩니다.
저는 솔루션을 실행하니 위와 같은 팝업창이 생성되었는데,
프로젝트를 생성했던 적이 없었으므로 Create New Project로 새로운 프로젝트를 생성했습니다.
이름만 입력해도 새로운 프로젝트 생성이 가능합니다.
새 프로젝트를 생성했으니 당연하게도..아무것도 없습니다!
오른쪽 하단에 있는 + 버튼을 눌러주세요~
다양한 분석 함수가 시각화된 모델링 결과를 보여주는 Workflow Modeler를 선택해서
Create를 눌러주시면 Brightics Studio에서 사용하는 모델과 비슷한 창이 생성됩니다.
(Cloud 기반이기 때문에 소요 시간이 다소 길 수 있습니다.)
원하시는 대로 Model Name을 설정해주시면 되고,
Template는 Default로 선택해서 새로운 모델을 생성해주도록 하겠습니다.
[ 실습 (1) 함수 생성 ]
백지 위에 함수들을 추가해보겠습니다.
가장 먼저 Load 함수가 필요하기 때문에,
원하시는 위치에서 가장 왼쪽에 Load 함수를 추가해주시면 됩니다.
Load 함수를 추가하지만,
이번에는 함수의 이름을 'Load_IRIS data'로 변경해서 만들어보겠습니다.
Load 함수 추가 이후에 생기는 함수 창에서 '?' 버튼 옆에 있는 점 세 개를 눌러주시면
위와 같은 창이 뜨므로 Name을 원하시는 대로 변경해주시면 됩니다.
Path는 다음과 같이 설정해주시면 됩니다.
이제 숨 쉬듯이 할 수 있을 것 같은 path 설정.....
이제 Run 버튼도 너무 익숙하죠?
Run 버튼까지 눌러주셔야 데이터가 업로드된답니다~
그 다음에 필요한 함수들은
Statistic Summary, Query Executor, Phython script, Scalar script
입니다.
함수들을 Load_IRIS data 옆에 생성해준 후,
각각 함수에 Load 함수를 연결해주시면 됩니다.
이제 오른쪽에 위치한 함수들에 대해서 알아보도록 하겠습니다.
[ 실습 (2) Statistic Summary 함수 ]
Statistic Summary 함수는 이전에도 설명했던 함수죠?
(기억이 나지 않는다면 아래 링크로 Go!)
가장 먼저, Statistic Summary 함수에 대해서
간단하게 리뷰 및 실습을 진행해보겠습니다.
1단계에서 왼쪽에 Load 함수를 연결해줘서 이미 데이터(iris data)는 연결 및 업로드가 되었습니다.
가운데에 있는 함수 설정창에서 어떤 데이터를 사용해서,
어떤 통계값을 나타낼 것인지를 선택해서 값을 확인해보겠습니다.
위의 사진과 같이 이번에는 Average와 Standard Deviation을 구해보겠습니다.
Group By에서 'species'를 선택해줘야 나중에 통계값을 확인하고 분석하는 것이 수월해집니다!
Run을 통해서, 위와 같은 통계값들을 확인할 수 있습니다.
[ 실습 (3) Query Executor 함수 ]
이번에는 Query Executor 함수로 SQL 스크립트를 사용하겠습니다.
함수창 클릭 후, 가운데의 스크립트 입력 창을 클릭하면
다음과 같은 창이 팝업되므로 왼쪽 상단에서 코드를 입력해주세요~
코드를 입력 한 후, 오른쪽에 있는 'Run'을 눌러주면
코드에 해당하는 계산을 통해 나온 값을 보여줍니다.
내가 원하는 값이 이게 맞다면 OK를 통해서 스크립트를 최종 입력하면 됩니다.
스크립트를 입력만 했을 뿐, 위에서 본 출력값은 확인을 위한 미리보기이므로
다음 단계에서 Run을 통해 최종값을 확인하면 됩니다!
SQL의 Code는 다음과 같습니다.
<SQL Script Code>
SELECT SPECIES,
ROUND(AVG(petal_length), 3) AS PETALLENGTHavg,
ROUND(AVG(petal_width), 3) AS PETALWIDTHave
FROM #{DF(0)}
GROUP BY SPECIES
[ 실습 (4) Python Script 함수 ]
Python 스크립트, code를 입력해서 출력값을 확인하겠습니다.
이전 단계와 동일하게 가운데 스크립트 입력 창을 클릭해주세요~
입력할 Code는 다음과 같습니다.
< Python Script Code >
inputDF = inputs[0]
out = inputDF.groupby("species", as_index=False)['petal_length', 'petal_width'].mean().round(3)
두번째 줄의 'out = ~'에서 out이라는 변수를 잘 기억해두세요!
여기서 출력에 해당하는 변수 out이 Outputs, Table 형태로 최종값을 출력하기 때문입니다!
최종값은 다음과 같이 나옵니다~
[ 실습 (5) Scalar Script 함수 ]
이번에는 Scalar로 값을 확인해볼까요?
< Scalar Script Code >
import org.apache.spark.sql.functions._
val iris =inputs(0)
val output = iris.groupBy("species").agg(round(avg("petal_length"), 3), round(avg("petal_width"),3) )
val out=output.toDF("species", "petal_length","petal_width")
위 Code를 입력하는데, 방금 Python에서는 함수창에서 출력할 값을 선택했다면
이번에는 입력 과정에서 출력값을 선택하는 방법에 대해서 알려드리겠습니다!
팝업된 입력 창의 오른쪽 상단에 위치한 Outputs를 보면 '+Add Output'이라는 버튼이 있는데,
이 버튼을 눌러서 출력 변수를 입력하고 형태를 설정하면 됩니다.
그 다음 과정은 이전 함수들과 동일합니다.
최종값이 이전 함수들과 다르지 않은 것을 확인하셨나요?
끄읏-!
이번 실습에서는 원래 R Script도 함께 진행했어야 하는데,
R은 현재 설치가 되어 있지 않아서 설치 과정과 함께 추후에 포스팅하겠습니다!
이번 포스팅에서는 다양한 Script 함수에 대해서 알아보고,
실습을 통해 사용 방법에 대해서 알 수 있었습니다.
Brightics 사용 방법이 어려운 편은 절대 아니지만,
내가 익숙한 Data 입력 방법이 있다면 해당 언어 Script 함수를 사용하면 되겠죠?!
다음 포스팅에서는 이전의 Tutorial을 마저 진행하겠습니다!
Common편의 두 번째인 Report 생성(Create Report)입니다.
포스팅에서 오류나 오타를 발견하셨다면
댓글로 피드백을 남겨주세요~ :)
그럼 다음 포스팅에서 만나요~
٩( ᐛ )و
* Brightics 서포터즈 활동의 일환으로 작성된 포스팅입니다. *