Data Science Workspace 문제 해결 안내서

이 문서에서는 Adobe Experience Platform Data Science Workspace에 대해 자주 묻는 질문에 대한 답변을 제공합니다. 일반적으로 Platform API에 대한 질문과 문제 해결은 Adobe Experience Platform API 문제 해결 안내서를 참조하십시오.

JupyterLab Notebook 쿼리 상태가 실행 상태에서 중단됨

JupyterLab Notebook은 일부 메모리 부족 상태에서 셀이 무기한으로 실행 중임을 나타낼 수 있습니다. 예를 들어 큰 데이터 세트를 쿼리하거나 여러 후속 쿼리를 수행할 때 JupyterLab Notebook에 사용 가능한 메모리가 부족하여 결과 데이터 프레임 개체를 저장할 수 있습니다. 이런 상황에서 볼 수 있는 몇 가지 지표가 있다. 먼저, 셀 옆에 [*] 아이콘이 표시된 대로 셀이 실행됨으로 표시되더라도 커널은 유휴 상태로 들어갑니다. 또한 맨 아래 막대는 사용/사용 가능한 RAM의 양을 나타냅니다.

사용 가능한 ram

데이터를 읽는 동안 할당된 최대 메모리 양에 도달할 때까지 메모리가 증가할 수 있습니다. 최대 메모리에 도달하면 메모리가 해제되고 커널이 다시 시작됩니다. 즉, 이 시나리오에서 사용된 메모리는 커널 재시작으로 인해 매우 낮은 것으로 표시될 수 있지만, 재시작 직전에 메모리가 할당된 최대 RAM에 매우 근접했을 수 있습니다.

이 문제를 해결하려면 JupyterLab의 오른쪽 상단에 있는 톱니바퀴 아이콘을 선택하고 슬라이더를 오른쪽으로 밀고 구성 업데이트 ​를 선택하여 추가 RAM을 할당합니다. 또한 여러 쿼리를 실행하고 있고 RAM 값이 최대 할당 양에 가까워지면 이전 쿼리의 결과가 필요하지 않는 한 커널을 다시 시작하여 사용 가능한 RAM을 재설정합니다. 이렇게 하면 현재 쿼리에 사용할 수 있는 최대 RAM 용량을 확보하게 됩니다.

더 많은 ram 할당

최대 메모리(RAM)를 할당하고서도 이 문제가 발생하는 경우, 데이터 열이나 범위를 줄여 더 작은 데이터 세트 크기에서 작동하도록 쿼리를 수정할 수 있습니다. 전체 데이터를 사용하려면 Spark 노트북을 활용하는 것이 좋습니다.

JupyterLab 환경이 Google Chrome에서 로드되지 않음

IMPORTANT
이 문제는 해결되었지만 Google Chrome 80.x 브라우저에 계속 있을 수 있습니다. Chrome 브라우저가 최신 상태인지 확인하십시오.

Google Chrome 브라우저 버전 80.x에서는 모든 서드파티 쿠키가 기본적으로 차단됩니다. 이 정책으로 인해 JupyterLab이(가) Adobe Experience Platform 내에서 로드되지 않을 수 있습니다.

이 문제를 해결하려면 다음 단계를 사용하십시오.

Chrome 브라우저에서 오른쪽 상단으로 이동하여 설정 ​을 선택합니다(또는 주소 표시줄에 "chrome://settings/"을 복사하여 붙여 넣을 수 있음). 그런 다음 페이지 맨 아래로 스크롤하여 고급 드롭다운을 클릭합니다.

chrome advanced

개인 정보 및 보안 섹션이 나타납니다. 사이트 설정, 쿠키 및 사이트 데이터 ​를 차례로 클릭합니다.

chrome advanced

chrome advanced

마지막으로 "서드파티 쿠키 차단"을 "끄기"로 전환합니다.

chrome advanced

NOTE
또는 서드파티 쿠키를 비활성화하고 [*을(를) 추가할 수 있습니다.허용 목록에 ]ds.adobe.net

주소 표시줄에서 "chrome://flags/"으로 이동합니다. 오른쪽의 드롭다운 메뉴를 사용하여 "SameSite를 기본 쿠키로 지정" 플래그를 검색하고 비활성화합니다.

samesite 플래그 비활성화

2단계 후에는 브라우저를 다시 시작하라는 메시지가 표시됩니다. 다시 실행한 후에는 Jupyterlab에 액세스할 수 있습니다.

Safari에서 JupyterLab에 액세스할 수 없는 이유는 무엇입니까?

Safari는 Safari < 12에서 기본적으로 서드파티 쿠키를 비활성화합니다. Jupyter 가상 컴퓨터 인스턴스가 상위 프레임과 다른 도메인에 있으므로 Adobe Experience Platform에서는 현재 서드파티 쿠키를 사용하도록 설정해야 합니다. 타사 쿠키를 활성화하거나 Google Chrome과(와) 같은 다른 브라우저로 전환하십시오.

Safari 12의 경우 사용자 에이전트를 'Chrome' 또는 'Firefox'(으)로 전환해야 합니다. 사용자 에이전트를 전환하려면 Safari 메뉴를 열고 기본 설정 ​을 선택하세요. 기본 설정 창이 나타납니다.

Safari 환경 설정

Safari 환경 설정 창에서 고급 ​을 선택합니다. 그런 다음 메뉴 표시줄의 상자를 선택합니다. 이 단계를 완료한 후 기본 설정 창을 닫을 수 있습니다.

Safari 고급

그런 다음 맨 위 탐색 모음에서 개발 메뉴를 선택합니다. 개발 드롭다운에서 사용자 에이전트 위로 마우스를 가져갑니다. 사용할 Chrome 또는 Firefox 사용자 에이전트 문자열을 선택할 수 있습니다.

메뉴 개발

JupyterLab에서 파일을 업로드하거나 삭제하려고 할 때 '403 사용할 수 없음' 메시지가 표시되는 이유는 무엇입니까?

Ghostery 또는 AdBlock Plus와 같은 광고 차단 소프트웨어로 브라우저를 사용하는 경우 JupyterLab이(가) 정상적으로 작동하도록 하려면 각 광고 차단 소프트웨어에서 "*.adobe.net" 도메인을 허용해야 합니다. JupyterLab 가상 컴퓨터가 Experience Platform 도메인과 다른 도메인에서 실행되기 때문입니다.

Jupyter Notebook의 일부 부분이 스크램블 상태로 보이거나 코드로 렌더링되지 않는 이유는 무엇입니까?

해당 셀이 실수로 "Code"에서 "Markdown"으로 변경된 경우 이러한 문제가 발생할 수 있습니다. 코드 셀이 포커스를 갖는 동안 키 조합 ESC+M ​을 누르면 셀의 형식이 Markdown으로 변경됩니다. 선택한 셀에 대해 노트북 위쪽에 있는 드롭다운 표시기에 의해 셀 유형을 변경할 수 있습니다. 셀 유형을 코드로 변경하려면 먼저 변경할 특정 셀을 선택합니다. 그런 다음 셀의 현재 유형을 나타내는 드롭다운을 클릭한 다음 "코드"를 선택합니다.

사용자 지정 Python 라이브러리를 설치하려면 어떻게 해야 합니까?

Python 커널은 많이 사용되는 기계 학습 라이브러리와 함께 미리 설치됩니다. 그러나 코드 셀 내에서 다음 명령을 실행하여 추가 사용자 지정 라이브러리를 설치할 수 있습니다.

!pip install {LIBRARY_NAME}

사전 설치된 Python 라이브러리의 전체 목록은 JupyterLab 사용 설명서의 부록 섹션을 참조하십시오.

사용자 지정 PySpark 라이브러리를 설치할 수 있습니까?

죄송합니다. PySpark 커널에 대한 추가 라이브러리를 설치할 수 없습니다. 그러나 Adobe 고객 서비스 담당자에게 문의하여 사용자 정의 PySpark 라이브러리를 설치할 수 있습니다.

사전 설치된 PySpark 라이브러리 목록은 JupyterLab 사용 안내서의 부록 섹션을 참조하십시오.

JupyterLab Spark 또는 PySpark 커널에 대한 Spark 클러스터 리소스를 구성할 수 있습니까?

전자 필기장의 첫 번째 셀에 다음 블록을 추가하여 리소스를 구성할 수 있습니다.

%%configure -f
{
    "numExecutors": 10,
    "executorMemory": "8G",
    "executorCores":4,
    "driverMemory":"2G",
    "driverCores":2,
    "conf": {
        "spark.cores.max": "40"
    }
}

구성 가능한 속성의 전체 목록을 포함하여 Spark 클러스터 리소스 구성에 대한 자세한 내용은 JupyterLab 사용 안내서를 참조하십시오.

대규모 데이터 세트에 대한 특정 작업을 실행하려고 할 때 오류가 발생하는 이유는 무엇입니까?

Reason: Remote RPC client disassociated. Likely due to containers exceeding thresholds, or network issues.과(와) 같은 이유로 오류가 발생하는 경우 일반적으로 드라이버나 Executor의 메모리가 부족함을 의미합니다. 데이터 제한 및 대규모 데이터 세트에서 작업을 실행하는 방법에 대한 자세한 내용은 JupyterLab Notebooks 데이터 액세스 설명서를 참조하십시오. 일반적으로 이 오류는 mode을(를) interactive에서 batch(으)로 변경하여 해결할 수 있습니다.

또한 대규모 Spark/PySpark 데이터 세트를 작성하는 동안 쓰기 코드를 실행하기 전에 데이터(df.cache())를 캐시하면 성능이 크게 향상될 수 있습니다.

데이터를 읽는 동안 문제가 발생하고 데이터에 변형을 적용하는 경우 변형 전에 데이터를 캐시해 보십시오. 데이터를 캐시하면 네트워크를 통한 다중 읽기가 방지됩니다. 데이터를 읽는 것부터 시작하십시오. 그런 다음 데이터를 캐시합니다(df.cache()). 마지막으로 변형을 수행합니다.

Spark/PySpark 노트북이 데이터를 읽고 쓰는 데 왜 이렇게 오래 걸립니까?

fit()을(를) 사용하는 등 데이터에 대한 변환을 수행하는 경우 변환이 여러 번 실행될 수 있습니다. 성능을 향상시키려면 fit()을(를) 수행하기 전에 df.cache()을(를) 사용하여 데이터를 캐시합니다. 이렇게 하면 변환은 한 번만 실행되며 네트워크를 통해 여러 번 읽기를 방지할 수 있습니다.

권장 순서: 데이터를 읽는 것부터 시작합니다. 그런 다음 변환을 수행한 다음 데이터를 캐싱(df.cache())합니다. 마지막으로 fit()을(를) 수행합니다.

Spark/PySpark 노트북이 실행되지 않는 이유는 무엇입니까?

다음 오류가 발생하는 경우:

  • 단계 오류로 인해 작업이 중단되었습니다. 각 파티션에 동일한 수의 요소가 있는 RDD만 압축할 수 있습니다.
  • 원격 RPC 클라이언트 연결이 끊어지고 다른 메모리 오류가 발생했습니다.
  • 데이터 세트를 읽고 쓸 때 성능이 저하됩니다.

데이터를 쓰기 전에 데이터(df.cache())를 캐시하고 있는지 확인하십시오. 전자 필기장에서 코드를 실행할 때 fit()과(와) 같은 작업 전에 df.cache()을(를) 사용하면 전자 필기장 성능이 크게 향상될 수 있습니다. 데이터 집합을 쓰기 전에 df.cache()을(를) 사용하면 변형이 여러 번 실행되지 않고 한 번만 실행됩니다.

데이터 과학 Workspace의 Docker Hub 제한

2020년 11월 20일부터 도커 허브의 익명 및 무료 인증 사용에 대한 요금 제한이 적용됩니다. 익명 및 무료 Docker Hub 사용자는 6시간마다 100개의 컨테이너 이미지 가져오기 요청으로 제한됩니다. 이러한 변경 사항의 영향을 받는 경우 ERROR: toomanyrequests: Too Many Requests. 또는 You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limits. 오류 메시지가 표시됩니다.

현재, 이 제한은 6시간 이내에 100개의 Notebook to Recipes를 작성하려고 하거나 Data Science Workspace 내에서 자주 확대 및 축소되는 Spark 기반 Notebooks를 사용하는 경우에만 조직에 영향을 줍니다. 그러나 이러한 클러스터가 유휴 상태로 유지되기 전에 2시간 동안 활성 상태를 유지하므로 그렇게 할 가능성은 낮습니다. 이렇게 하면 클러스터가 활성 상태일 때 필요한 가져오기 수가 줄어듭니다. 위의 오류가 발생하면 Docker 제한이 재설정될 때까지 기다려야 합니다.

Docker Hub 속도 제한에 대한 자세한 내용은 DockerHub 설명서를 참조하세요. 이에 대한 해결 방법은 후속 릴리스에서 진행 중이며 향후 제공될 예정입니다.

recommendation-more-help
cc79fe26-64da-411e-a6b9-5b650f53e4e9