Earth Engine에는 데이터를 처리하기 위한 두 가지 환경(대화형 및 일괄 처리)이 있습니다. 이 두 환경 (또는 '영역')은 서로 다른 유형의 쿼리를 처리하며 성능 특성이 매우 다르므로 각각을 사용하는 시점과 방법을 이해하는 것이 중요합니다.
대화형 환경
'동기' 또는 '온라인' 스택이라고도 하는 이 환경은 빠르게 완료되는 소규모 요청에 응답하도록 최적화되어 있습니다 (응답은 수십 메가바이트의 데이터로 제한되며 5분 이내에 처리를 완료해야 함). 할당량 한도까지 여러 요청을 동시에 실행할 수 있습니다.
엔드포인트
대화형 환경은 표준 및 대용량이라는 두 가지 API 엔드포인트로 구성됩니다.
표준 엔드포인트
표준 엔드포인트는 대부분의 사람이 직접 사용하는 경우에 적합하며 코드 편집기와 Earth Engine 앱을 지원합니다. 특히 이 엔드포인트는 동시 실행되는 비프로그래매틱 요청의 양이 적은 지연 시간에 민감한 애플리케이션에 가장 적합합니다.
대용량 엔드포인트
대용량 엔드포인트는 표준 엔드포인트보다 더 많은 양의 요청을 동시에 처리하도록 설계되었습니다. 가장 큰 차이점은 다음과 같습니다.
지연 시간 증가: 트래픽이 많은 엔드포인트의 요청당 평균 지연 시간이 더 깁니다.
캐싱 감소: 중간 결과의 캐싱이 줄어들므로 복잡한 쿼리에 더 많은 컴퓨팅 시간이 필요할 수 있습니다.
자동화된 소규모 쿼리에 가장 적합: 대용량 엔드포인트는 많은 프로그래매틱 요청을 처리하는 데 뛰어나지만 집계가 필요하지 않은 간단한 쿼리 (예: 사전 빌드된 이미지에서 카드 가져오기)에 가장 적합합니다.
효율적인 캐싱이 필요한 복잡한 분석의 경우 표준 API 엔드포인트가 더 적합할 수 있습니다. 대용량 엔드포인트는 처리량이 높고 계산이 적은 작업에 최적화되어 있습니다. 대용량 엔드포인트를 사용할 때는 일반적으로 복잡한 쿼리에 일반 온라인 엔드포인트보다 더 많은 EECU 시간이 필요합니다.
대용량 엔드포인트 사용
Python 클라이언트
earthengine 라이브러리를 초기화할 때 opt_url 매개변수를 전달하고 https://earthengine-highvolume.googleapis.com로 설정합니다.
항상 적절한 사용자 인증 정보를 전달하고 Cloud 프로젝트를 지정해야 합니다. 예를 들면 다음과 같습니다.
ee.initialize()를 사용하여 earthengine 라이브러리를 초기화할 때 첫 번째 매개변수로 https://earthengine-highvolume.googleapis.com를 전달합니다.
REST API
REST 요청을 https://earthengine-highvolume.googleapis.com로 전달합니다(예: REST API 빠른 시작에 표시된 https://earthengine.googleapis.com 대신).
일괄 처리 환경
'비동기' 또는 '오프라인' 스택이라고도 하는 이 환경은 대용량 데이터의 지연 시간이 긴 병렬 처리에 최적화되어 있습니다. 요청은 일반적으로 데이터 import 또는 내보내기 함수 (예: Export.* 및 ee.batch.*)를 가져옵니다. 각 일괄 태스크의 최대 전체 기간은 10일입니다. 각 프로젝트는 최대 3, 000개의 대기 중인 작업을 지원하지만 각 개별 사용자는 소수의 동시에 실행되는 작업으로 제한됩니다.
작업 수명 주기
작업은 큐에 제출되며 우선순위(가장 높은 순으로) 및 제출 시간 (가장 빠른 순으로)에 따라 정렬됩니다. 태스크가 일괄 처리기에 할당되면 태스크 상태가 SUBMITTED (대기함)에서 RUNNING로 변경됩니다. 각 프로세서는 계산을 실행하고 작업의 결과를 생성하기 위해 다양한 수의 일괄 작업자를 조정합니다.
태스크의 작업자는 EE 서비스의 작업 병렬 처리 기능에 따라 결정되며 사용자가 구성할 수 없습니다.
Cloud 프로젝트를 사용하는 경우 작업 목록을 표시할 수 있는 프로젝트 수준 권한이 있는 모든 사용자에게 작업이 표시됩니다. 프로젝트가 유료 Earth Engine 액세스를 위해 등록된 경우 태스크가 프로젝트 전반의 대기열에 정리됩니다. 프로젝트가 무료 (연구) 액세스를 위해 등록된 경우 태스크는 사용자별로 독립적으로 예약되지만 프로젝트의 모든 사용자에게 표시됩니다.
태스크는 필요한 아티팩트 (Earth Engine 애셋, Google Cloud Storage의 파일 등)를 만들면 성공적으로 완료됩니다.
재시도로 해결되지 않는 이유 (예: 데이터가 유효하지 않음)로 태스크가 실패하면 태스크가 FAILED로 표시되고 다시 실행되지 않습니다.
태스크가 간헐적으로 발생할 수 있는 이유로 실패하면 (예: 계산 실행 시 시간 초과) Earth Engine에서 자동으로 재시도하고 retries 필드를 채웁니다. 태스크는 최대 5번 실패할 수 있으며, 최종 실패하면 전체 태스크가 FAILED로 표시됩니다.
태스크 ID
각 태스크에는 3DNU363IM57LNU4SDTMB6I33 형식의 영숫자 ID가 있습니다. 작업 관리 인터페이스를 통해 확인하거나 가져올 수 있습니다. 프로그래매틱 방식으로 태스크를 시작하는 경우 ee.data.newTaskId에서 태스크 ID를 가져옵니다. 내보내기 또는 처리 작업을 디버그하는 데 도움을 요청할 때는 이 작업 ID를 스크린샷이 아닌 복사 가능한 문자열로 제공하세요.
작업 상태 목록
태스크의 state 값은 다음과 같습니다.
UNSUBMITTED, 클라이언트에서 아직 대기 중
READY, 서버에 대기함
RUNNING, 현재 실행 중
COMPLETED, 완료됨
FAILED, 완료 실패
CANCEL_REQUESTED: 여전히 실행 중이지만 취소가 요청되었습니다(작업이 취소된다고 보장되지는 않음).
CANCELLED: 소유자가 취소함
할 일 우선순위
작업 우선순위는 대기열의 작업 순서를 제어하는 메커니즘입니다.
우선순위가 높은 작업은 제출 시간과 관계없이 우선순위가 낮은 다른 대기 중인 작업보다 먼저 예약됩니다. 기본 작업 우선순위는 100입니다.
내보내기 작업에 다른 우선순위 (높음 또는 낮음)를 설정하는 기능은 유료 Earth Engine 액세스를 위해 등록된 프로젝트의 사용자만 사용할 수 있습니다. 내보내기 작업의 우선순위를 변경해도 가져오기 작업과 관련하여 예약되는 방식에는 영향을 미치지 않습니다. 두 유형의 작업이 별도로 예약되기 때문입니다.
예: 작업 우선순위 사용
다음 작업 목록을 살펴보세요. 여기서 작업 1~5는 기본 우선순위로 자연스러운 순서로 제출됩니다. 우선순위가 모두 동일하므로 제출된 순서대로 실행되며, 이 프로젝트에는 2개의 일괄 처리 슬롯을 사용할 수 있으므로 두 개가 동시에 실행됩니다 (제출된 첫 번째와 두 번째).
Task name State Priority
---------------------------------------
MyDefaultTask5 READY 100
MyDefaultTask4 READY 100
MyDefaultTask3 READY 100
MyDefaultTask2 RUNNING 100
MyDefaultTask1 RUNNING 100
새 태스크 MyHighPriorityTask1를 제출해도 실행 중인 태스크에는 영향을 미치지 않습니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-07-25(UTC)"],[[["\u003cp\u003eEarth Engine offers interactive and batch processing environments for different types of data computations.\u003c/p\u003e\n"],["\u003cp\u003eInteractive processing is best suited for small, quick tasks with immediate results, while batch processing handles large, complex analyses asynchronously.\u003c/p\u003e\n"],["\u003cp\u003eThe interactive environment features standard and high-volume endpoints, catering to different latency and throughput requirements.\u003c/p\u003e\n"],["\u003cp\u003eBatch processing tasks are managed via a queue and can be monitored, prioritized, and cancelled using various interfaces.\u003c/p\u003e\n"],["\u003cp\u003eTask failures are handled automatically with retries, or marked as failed if the issue is persistent.\u003c/p\u003e\n"]]],["Earth Engine offers *interactive* and *batch* environments. Interactive, or synchronous, processing is for small, quick requests, using standard or high-volume endpoints. Standard is for latency-sensitive applications, while high-volume is for automated, simple queries with higher latency and less caching. Batch, or asynchronous, processing handles large datasets via tasks, submitted to a queue with priority and time ordering. Tasks transition through states like `READY`, `RUNNING`, `COMPLETED`, or `FAILED`, with automatic retries for intermittent failures. Users can manage tasks through various interfaces.\n"],null,["# Processing Environments\n\nEarth Engine has different environments for processing data: *interactive* and\n*batch*. These two environments (or \"realms\") handle different types of queries\nand have very different performance characteristics, so it's important to\nunderstand when and how to use each.\n| **Note:** Project-level request limits apply to both interactive and batch processing requests. See the [Earth Engine quotas](/earth-engine/guides/usage) page.\n\nInteractive environment\n-----------------------\n\n| **Key Term:** *Interactive* - run computations synchronously and include the output directly in the response.\n\nAlso called the \"synchronous\" or \"online\" stack, this environment is optimized\nfor answering small requests which finish quickly (responses are limited to tens\nof megabytes of data and must finish processing within five minutes). Many\nrequests can be made in parallel up to the [quota\nlimits](/earth-engine/guides/usage).\n\n### Endpoints\n\nThe interactive environment is composed of different API endpoints: *standard*\nand *high volume*.\n\n#### Standard endpoint\n\nThe standard endpoint is appropriate for most human-driven usage, and it's what\npowers the Code Editor and Earth Engine Apps. Specifically, this endpoint is\nbest suited for latency-sensitive applications which involve a low volume of\nconcurrent, non-programmatic requests.\n\n#### High-volume endpoint\n\nThe high-volume endpoint is designed to handle a higher volume\nof requests in parallel than the standard endpoint. Key differences include:\n\n- **Higher latency**: The high-volume endpoint has higher average latency per request.\n- **Less caching**: It provides less caching of intermediate results, so complex queries may require more compute time.\n- **Best for automated, small queries**: The high-volume endpoint excels at handling many programmatic requests, but is most suitable for simple queries that don't require aggregation (like fetching tiles from prebuilt images).\n\nFor complex analyses that need efficient caching, the standard API endpoint may\nbe preferable. The high-volume endpoint is optimized for high-throughput,\nlow-computation tasks. Complex queries typically require more\n[EECU-time](https://developers.google.com/earth-engine/guides/computation_overview#eecus)\nwhen using the high-volume endpoint than they do in the regular online endpoint.\n\n##### Use of the high-volume endpoint\n\n### Python client\n\nWhen initializing the `earthengine` library, pass in an `opt_url` parameter\nand set it to\n`https://earthengine-highvolume.googleapis.com`.\nAs always, be sure to also pass in proper credentials and specify the Cloud\nproject. For example: \n\n ee.Initialize(\n credentials=credentials,\n project='my-project',\n opt_url='https://earthengine-highvolume.googleapis.com'\n )\n\n### JavaScript client\n\nWhen initializing the `earthengine` library using\n[`ee.initialize()`](/earth-engine/apidocs/ee-initialize),\npass `https://earthengine-highvolume.googleapis.com`\nfor the first parameter.\n\n### REST API\n\nDirect your REST requests to\n`https://earthengine-highvolume.googleapis.com`\n(instead of `https://earthengine.googleapis.com`,\nas shown in the\n[REST API Quickstart](/earth-engine/reference/Quickstart#accessing-and-testing-your-credentials),\nfor example).\n\nBatch environment\n-----------------\n\n| **Key Term:** *Batch* - run computations asynchronously and output results for later access (in Google Cloud Storage, the Earth Engine asset store, etc.).\n\nAlso called the \"asynchronous\" or \"offline\" stack, this environment is optimized\nfor high-latency parallel processing of large amounts of data. Requests are\nsubmitted as tasks to batch processing endpoints, usually by calling data\n[import](/earth-engine/guides/image_upload) or\n[export](/earth-engine/guides/exporting) functions (e.g., `Export.*` and\n`ee.batch.*`) from the Earth Engine client libraries. Each batch task has a\nmaximum lifetime of ten days. Each project supports [up to 3000 pending\ntasks](/earth-engine/guides/usage#task_queue_length), but each individual user\nis limited to a small number of [concurrently running\ntasks](/earth-engine/guides/usage#concurrent_batch_tasks).\n\n### Task lifecycle\n\nTasks are submitted to a queue and ordered by their priority\n(highest first) and submission time (earliest first). Tasks change from the\n`SUBMITTED` (queued) state to the `RUNNING` state when they're assigned to a\n*batch processor* . Each processor is responsible for orchestrating a varying\nnumber of *batch workers* to run the computation and produce the task's results.\nThe number of workers for a task is determined by the EE service's ability to\nparallelize the job and is not user-configurable.\n\nWhen using a Cloud project, tasks are visible to anyone with the project-level\npermission to list tasks. If the project is\n[registered](/earth-engine/guides/access#a-role-in-a-cloud-project) for paid\nEarth Engine access, tasks are organized in a project-wide queue; if the project\nis registered for unpaid (research) access, tasks are scheduled independently\nfor each individual but still visible across users of the project.\n\nTasks complete successfully when they create the necessary artifacts (Earth\nEngine assets, files in Google Cloud Storage, etc.).\n\n### Task management\n\nTasks can be viewed and cancelled using the following interfaces:\n\n- [Tasks page in the Cloud Console](https://console.cloud.google.com/earth-engine/tasks)\n - Enables task management at the Cloud project level. Going forward, this is the main user interface for managing tasks.\n- [Task Manager page](https://code.earthengine.google.com/tasks)\n - This interface shows tasks at the user and project level, and supports filtering by task name.\n- [Code Editor Tasks Tab](/earth-engine/guides/playground#tasks-tab)\n - Allows for monitoring tasks alongside a Code Editor script.\n- [`ListOperations` endpoint](/earth-engine/apidocs/ee-data-listoperations) and [`task` command](/earth-engine/guides/command_line#task)\n - Best for programmatically viewing and managing tasks.\n\n### Task failures\n\nIf a task fails for a reason which won't be fixed by retrying (e.g., the data\nare invalid), the task will be marked as `FAILED` and won't be run again.\n\nIf a task fails for a reason which could be intermittent (e.g., it timed out\nwhen running a computation), Earth Engine will automatically attempt to retry it\nand populate the `retries` field. Tasks can fail up to five times, and the final\nfailure will cause the entire task to be marked as `FAILED`.\n\n### Task ID\n\nEach task has an alphanumeric ID of the form `3DNU363IM57LNU4SDTMB6I33`. These\ncan be viewed or obtained through our [task management](#task_management)\ninterfaces. If you are starting tasks programmatically, you get the task ID from\n[`ee.data.newTaskId`](/earth-engine/apidocs/ee-data-newtaskid). When requesting\nhelp to debug an export or ingestion task, provide this task ID as a copyable\nstring (not a screenshot).\n\n### List of task states\n\nTasks can have the following `state` values:\n\n- `UNSUBMITTED`, still pending on the client\n- `READY`, queued on the server\n- `RUNNING`, currently running\n- `COMPLETED`, completed successfully\n- `FAILED`, completed unsuccessfully\n- `CANCEL_REQUESTED`, still running but has been requested to be cancelled (i.e., not a guarantee that the task will be cancelled)\n- `CANCELLED`, cancelled by the owner\n\n### Task priority\n\nTask priority is a mechanism for controlling the order of tasks in the queue.\nHigher priority tasks get scheduled before other pending tasks with lower\npriorities, regardless of their submission time. The default task priority is\n100.\n\nThe ability to set other priorities (higher or lower) on export tasks is only\navailable for users of [projects that are registered for paid Earth Engine\naccess](/earth-engine/guides/access#a-role-in-a-cloud-project). Changing the\npriority of an export task doesn't affect how it's scheduled relative to any\nimport tasks, since the two types of tasks are scheduled separately.\n\n#### Example: using task priorities\n\nConsider the following task list, where tasks 1-5 are submitted in their\nnatural order with the default priority. They run in the order they were\nsubmitted, since the priorities are all the same, and, since [two batch\nprocessing slots](/earth-engine/guides/usage#concurrent_batch_tasks) are\navailable for this project, two run concurrently (the first and second\nsubmitted). \n\n Task name State Priority\n ---------------------------------------\n MyDefaultTask5 READY 100\n MyDefaultTask4 READY 100\n MyDefaultTask3 READY 100\n MyDefaultTask2 RUNNING 100\n MyDefaultTask1 RUNNING 100\n\nSubmitting a new task, `MyHighPriorityTask1`, won't affect the running tasks: \n\n Task name State Priority\n ---------------------------------------\n MyHighPriorityTask READY 500\n MyDefaultTask5 READY 100\n MyDefaultTask4 READY 100\n MyDefaultTask3 READY 100\n MyDefaultTask2 RUNNING 100\n MyDefaultTask1 RUNNING 100\n\nAfter one of the running tasks completes, the pending task with the highest\npriority will run (in this case, our high-priority task): \n\n Task name State Priority\n -----------------------------------------\n MyHighPriorityTask RUNNING 500\n MyDefaultTask5 READY 100\n MyDefaultTask4 READY 100\n MyDefaultTask3 READY 100\n MyDefaultTask2 COMPLETED 100\n MyDefaultTask1 RUNNING 100"]]