안녕하세요 여러분. 오늘 저희 포스터를 소개해 드리게 되어 매우 기쁩니다. 이번 포스터에서는 JMP와 AWS 서비스의 통합에 대해 다루겠습니다. 저는 Soitec에서 데이터 엔지니어로 근무하는 야신 벨라미리입니다.
안녕하세요, 저는 기욤 부뇽입니다. 저도 소이텍에서 데이터 엔지니어로 일하고 있습니다. 오늘은 이 포스터를 소개해 드리겠습니다. JMP는 엑셀, JSON, PDF 파일 등 다양한 네이티브 형식의 데이터 소스를 지원합니다. 또한 ODBC 네이티브 연결을 통해 여러 데이터베이스에 연결할 수 있지만, 때로는 이것만으로는 부족할 수 있습니다. 왜냐하면 오늘날 클라우드와 Azure, AWS, Google Play와 같은 클라우드 서비스가 우리 업계뿐 아니라 모든 산업에서 점점 더 많이 사용되고 있으며, 이제는 기업 데이터 아키텍처의 일부가 되었기 때문입니다. 어떤 경우에는 JMP 사용자가 최신 데이터에 접근해야 하고, 또 어떤 경우에는 GSL(Google Stream Language)에 특화된 커넥터를 개발해야 합니다.
이 포스터의 목적은 무엇일까요? 우선, JMP 15부터 파이썬 통합을 통해 사용자의 PC에 JMP와 파이썬을 함께 배포함으로써 JMP의 기능을 확장했다는 점을 알려드리고 싶습니다. 이를 통해 AWS 서비스 또는 JMP에서 기본적으로 지원하지 않는 기타 경우에 특화된 GSL 함수 모음인 JMP 라이브러리를 개발할 수 있었습니다. 현재 600명 이상의 사용자가 있으며, 모든 사용자가 쉽게 연결을 사용할 수 있도록 하고 개발자들이 동일한 코드를 사용하도록 보장하기 위해 이러한 배포 환경을 관리해야 합니다.
JMP 18부터는 Python 통합 관리가 더욱 쉬워지고 이전 버전에서 필요했던 종속성이 제거되어 JMP 설치가 더 빠르고 간편해졌습니다. 이제 Python과 함께 JMP를 설치하고 네이티브로 사용할 수 있습니다.
이렇게 하는 이유는 사용자 경험을 향상시키고 데이터 접근을 간소화하기 때문입니다. 데이터를 처음부터 준비하고 저장하며 기업 차원에서 유효성을 검사할 수 있습니다. 또한, 소이텍에서는 JMP를 데이터 엔지니어링 파이프라인의 핵심 단계로 활용하고 있기 때문에 통계 분석을 위해 데이터를 공개해야 할 때 JMP를 사용합니다.
어떻게 이렇게 했는지 간단히 설명드리겠습니다. 먼저 파이썬 기반의 공통 라이브러리를 만들었습니다. 이 라이브러리들은 예를 들어 AWS에 연결하거나, JMP에 포함되지 않은 통계적 기능, 또는 저희가 더 매력적이거나 재미있다고 생각하는 그래프 등을 추가할 수 있도록 해줍니다. 이것이 첫 번째 단계입니다.
그다음에는 JSL 라이브러리에서 이러한 파이썬 라이브러리를 호출할 것입니다. 이 JSL은 JSL 개발자들이 나중에 사용할 수 있도록 만들어졌습니다. 이 코드는 내부적으로, 즉 IT 부서에서 검증을 거치므로 모두 동일한 코드를 사용할 수 있습니다. 마지막으로 Soitec에서 이 GSL 라이브러리를 인증하면 사용자가 데이터에 연결할 수 있는 매우 간단한 방법을 제공하게 됩니다.
간단한 기호를 사용하여 더 자세히 살펴보면 다음과 같은 아키텍처를 얻을 수 있습니다. Yacine이 앞서 설명한 세 가지 구성 요소가 있습니다. 제가 프로젝트 개발자이고 AWS 서버의 S3 버킷에 저장된 추출된 데이터에 연결하고 싶다고 가정해 보겠습니다. 먼저 라이브러리 경로와 JSL 기반의 Python 라이브러리를 호출한 다음 함수를 사용하면 됩니다. 보시다시피 단 네 줄의 코드로 AWS S3에 저장된 파일에 접근할 수 있습니다. 하지만 이를 위해서는 초기 비용이 발생합니다. 빨간색과 검은색, 이 두 가지 구성 요소를 개발해야 하기 때문입니다.
먼저, 이 앱을 파이썬 라이브러리라고 부르겠습니다. 여기서 파이썬 라이브러리를 가져오기만 하면 됩니다. 맞습니다. 마치 벽돌 같죠. 초록색, 검은색, 파란색 벽돌이 있습니다. 데모를 해볼까요? 죄송합니다. JMP를 실행해 보겠습니다. 여기 있습니다. 아주 간단하죠. 로그를 출력해 보겠습니다. 파이썬 GSL 라이브러리를 가져오기만 하면 됩니다. 보시다시피, 이 파이썬 GSL에는 여러 함수가 있습니다. 여기 두 개가 있죠.
그러면 패킷 파일을 열고 싶다고 말하기만 하면 됩니다. Parquet은 JMP에서 기본적으로 지원하지 않는 파일 형식이지만, Python을 사용하면 패킷 파일을 열 수 있으므로 괜찮습니다. John의 발견 내용을 예로 들면, 하위 버킷, 파일 이름, 주소 지역이 저장된 패킷 파일을 열고 싶다고 말하기만 하면 됩니다. 그러면 새로운 데이터 뷰를 만들 수 있고, 더 쉽고 빠르게 데이터를 가져올 수 있으며, JMP를 사용하여 분석을 수행할 수 있습니다.
다른 방법도 비슷하지만, 같은 라이브러리를 사용해서 비밀 값을 얻는 겁니다. 비밀 값은 예를 들어 데이터베이스에 연결하기 위한 비밀번호나 자격 증명일 수 있습니다. 이 라이브러리에 있는 함수를 사용하면 이 값을 아주 쉽게 얻을 수 있습니다. 제 비밀 값은 'dev gem discovery at the respect'이고, 이 함수를 실행하면 비밀 값이 출력됩니다. 여기서 비밀 값들을 확인할 수 있죠.
보다 현실적인 사용 사례를 하나 더 말씀드리자면, 저희 소이텍(Soitec)에서 사용하는 애플리케이션이 있습니다. 이 애플리케이션은 AWS RDS 데이터베이스에 연결하여 집계된 데이터를 가져올 수 있습니다. 또한 AWS S3에 연결하여 패킷 형식으로 저장된 원시 데이터를 가져올 수도 있습니다.
파이썬과 GSL 라이브러리의 개발 덕분에 데이터베이스와 S3 버킷에 쉽게 연결할 수 있게 되었고, JMP를 사용하여 모든 통계 계산을 수행할 수 있습니다. SPC 차트나 CPK의 공정 능력 지표 등을 계산할 수 있죠. 이렇게 계산된 데이터는 집계된 데이터와 원시 데이터로 변환됩니다. 그 후에는 데이터 마이닝과 데이터 분석을 수행할 수 있게 됩니다.
저희는 S3에 저장된 데이터에 접근하는 방법을 설명드렸습니다. 결론적으로, AWS 접근을 위해 JMP에 Python을 통합하면 여러 가지 이점이 있습니다. 기능성과 효율성 모두 향상됩니다. Python 라이브러리를 사용하면 어떤 서비스와도 쉽게 상호 작용할 수 있습니다. 저희는 AWS를 예로 들었지만, JMP에서 기본적으로 지원하지 않는 다른 서비스에도 적용할 수 있습니다. Soitec에서 현재 사용하고 있는 AWS 서비스인 S3, DynamoDB, Secret Manager를 예로 들어 설명했습니다.
JMP 18부터 도입된 통합 기능 덕분에 복잡성이 줄어들고 시간도 절약되었습니다. 이전에는 파이썬 라이브러리를 직접 배포하고 파이썬을 설치해야 했지만, 이제 파이썬을 통해 모든 작업을 수행할 수 있게 되어 모든 데이터에 접근할 수 있고, 최종 사용자가 데이터 수집이 아닌 분석에 집중할 수 있게 되었습니다. 파이썬과 JMP는 효율적인 데이터 기반 의사결정을 위한 강력한 시너지를 창출합니다.
다가오는 JMP 릴리스에는 jmputils Python 라이브러리가 도입될 예정입니다. 이 라이브러리는 JMP와 Python 간의 상호 작용 방식을 완전히 새롭게 바꿔놓을 것이며, 앞으로 어떻게 활용될지, 그리고 Python에서 모든 것을 실행하고 JMP에서 처리할 수 있도록 준비하는 과정이 얼마나 향상될지 매우 기대됩니다. 이번 릴리스를 통해 여러분께 그 모습을 직접 보여드릴 수 있기를 고대하고 있습니다.
감사합니다. 저희 소개는 여기까지입니다. 저희 회사에 대한 간략한 소개와 저희가 하는 일, 그리고 핵심 사업이 무엇인지 살펴보셨습니다.
감사합니다.
감사합니다.