
타 서비스 data를 사용해보기 위하여 작업하던 중 MS Fabric의 분석 tool 포지션인 notebook을 약간 deep 하게 파고 들어가게 되었다.
해당 환경은 스파크로 되어있어 빠른 분석을 제공한다.
라고 되어있는게 공식설명이고 그건 알겠으니 더 자세한 정보를 보도록 한다.
노트북에서 linux 명령어를 사용하려면 ! 를 붙여 명령어를 사용하면 된다.
!cat /etc/os-release
NAME="Common Base Linux Mariner"
VERSION="2.0.20240425"
ID=mariner
VERSION_ID="2.0"
PRETTY_NAME="CBL-Mariner/Linux"
ANSI_COLOR="1;34"
HOME_URL="https://aka.ms/cbl-mariner"
BUG_REPORT_URL="https://aka.ms/cbl-mariner"
SUPPORT_URL="https://aka.ms/cbl-mariner"
해당환경은 ms에서 클라우드 인프라와 등등 제품들을 위해 만든 linux 배포판이다.
CBL-Mariner는 Microsoft의 클라우드 인프라와 엣지 제품 및 서비스를 위한 내부 Linux 배포판이다.
common base linux mariner

두개다 설치 되어있나보다

!pwd 내 위치를 확인해본다.
해당 리소스가 하둡 기반으로 설정해놓은걸 확인했다.
!tree
이걸로 스파크의 리소스 등을 파악 할 수 있었다.

.
├── builtin -> /synfs/nb_resource/builtin
├── container_tokens
├── default_container_executor_session.sh
├── default_container_executor.sh
├── launch_container.sh
├── __spark_conf__ -> /mnt/var/hadoop/tmp/nm-local-dir/usercache/trusted-service-user/filecache/11/__spark_conf__.zip
├── sparkr -> /mnt/var/hadoop/tmp/nm-local-dir/usercache/trusted-service-user/filecache/10/sparkr.zip
└── tmp
mnt/var/hadoop/tmp/nm-local-dir/usercache/trusted-service-user/filecache/11/__spark_conf__.zip에 심볼릭 링크.mnt/var/hadoop/tmp/nm-local-dir/usercache/trusted-service-user/filecache/10/sparkr.zip에 심볼릭 링크. 연결 테스트를 해보는 중 특정 라이브러리가 호출이 안되는 문제가 발생했다.
해당 라이브러리를 실행하려면 base가 되는 라이브러리가 필요했는데 그게 connecting 되는 destination에 따라서 주입을 해줘야했기 때문이다.
이를 위해 LD_LIBRARY_PATH 라는 환경변수에서 주입이 필요한 라이브러리를 넣어주어야했다.
!export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/synfs/nb_resource/env
이런방법으로 동적 라이브러리 스캔되는 폴더를 추가해주려고하였다.
하지만 echo $LD_LIBRARY_PATH를 했을때 추가가 되었다는걸 확인했지만, 라이브러리가 인식을 하지 못하였다.
단순하게 생각하면 여기에 넣으면 되는건데 멀리 돌아간 것 같다.
분명 기존 세팅되어있는 폴더에 넣게된다면 충돌이나 여타 문제가 발생할 것이라 생각이되어 추후에 진행하고자 하였다.
/usr/hdp/current/hadoop-client/lib/native/ 에 라이브러리를 copy하는 작업을 하였다. 하지만 처참한 실패.
permission deny가 발생하였다.

!cp ~lib/* /opt/gluten/dep/
문제없이 복사가 되었고, 이후 원하던 라이브러리도 문제없이 import가 되었다.

원하던 라이브러리를 import 하는데까지 성공했지만
fabric의 노트북은 유동ip라서 세션이 updown 될때마다 ip가 변경된다.