public class Instance extends LazyLoad
Modifier and Type | Class and Description |
---|---|
static class |
Instance.InstanceQueueingInfo |
static class |
Instance.InstanceResultModel
表示Instance运行结果的API响应内容
|
static class |
Instance.Result |
class |
Instance.SetInformationResult |
static class |
Instance.StageProgress
StageProgress表示
Task 执行过程中各阶段的进度统计 |
static class |
Instance.Status
Instance的运行状态。
|
static class |
Instance.TaskCost |
static class |
Instance.TaskStatus
Task执行状态
|
static class |
Instance.TaskSummary
TaskSummary包含
Task 运行结束后的汇总信息 |
Modifier and Type | Method and Description |
---|---|
void |
addUserDefinedHeaders(Map<String,String> headers)
设置自定义的 headers, 将被添加到请求的 headers 中
|
Date |
getEndTime()
获得Instance结束执行时间
|
String |
getId()
获得Instance的ID
|
String |
getJobName()
获取 Instance 的 Job name
|
String |
getLog(String workerId,
LogType logType,
int size)
获取Worker运行的LOG内容
|
Odps |
getOdps()
获得Instance的 ODPS 对象
|
OdpsHooks |
getOdpsHooks() |
String |
getOwner()
获得Instance所属用户
|
int |
getPriority()
获取 Instance 的优先级
|
String |
getProject()
获得Instance所属
Project 名称 |
Instance.InstanceQueueingInfo |
getQueueingInfo()
获取运行中 instance 的排队信息
|
String |
getRawSubqueryResults(String subqueryId,
String taskName)
获取SQLRT Instance中Subquery的原始运行结果
|
List<Instance.InstanceResultModel.TaskResult> |
getRawTaskResults()
获取Instance中Task的原始运行结果
|
static String |
getStageProgressFormattedString(List<Instance.StageProgress> stages) |
Date |
getStartTime()
获得Instance开始执行时间
|
Instance.Status |
getStatus()
获得Instance状态
|
Instance.Status |
getStatus(boolean isBlock)
获得Instance状态
|
Instance.TaskCost |
getTaskCost(String taskName)
获得 Instance 中 Task 的运行资源消耗信息
当且仅当 Task 产生计量信息时,返回资源消耗信息,否则返回 null
|
String |
getTaskDetailJson(String taskName) |
String |
getTaskDetailJson2(String taskName) |
String |
getTaskInfo(String taskName,
String infoKey)
获得 Instance 中 Task 运行时的指定相关信息
|
Set<String> |
getTaskNames()
获得Instance所包含的所有
Task 的名称 |
List<Instance.StageProgress> |
getTaskProgress(String taskName)
查询指定Task的Stage进度
|
String |
getTaskQuotaJson(String taskName)
获取 task 运行 quota group 信息以及 quota group 中作业排队情况
注意,此接口的调用频率受限,两次调用间隔不能少于 30s, 否则返回字符串为 {}。
|
Map<String,String> |
getTaskResults()
获得Instance中Task的运行结果
|
Map<String,Instance.Result> |
getTaskResultsWithFormat()
获得Instance中
Task 的运行结果 |
List<Task> |
getTasks()
返回与作业运行实例相关的作业
Task 实例。 |
Map<String,Instance.TaskStatus> |
getTaskStatus()
查询Instance中所有
Task 的执行状态 |
Instance.TaskSummary |
getTaskSummary(String taskName)
获得Instance中Task的运行汇总信息 当 Server 端返回信息,但是信息格式错误时,返回 null
|
boolean |
isHookInvoked() |
boolean |
isSuccessful()
检查
Instance 是否执行成功 |
boolean |
isSync()
获得Instance是否为同步执行
|
boolean |
isTerminated()
检查是否执行完成
|
void |
reload()
重新加载属性值
|
void |
setHookInvoked(boolean hookInvoked) |
Instance.SetInformationResult |
setInformation(String taskName,
String infoKey,
String infoValue)
设置 Instance 中 Task 运行时的指定相关信息,返回结构化response
|
void |
setMcqaV2(boolean mcqaV2) |
void |
setOdpsHooks(OdpsHooks hooks) |
String |
setTaskInfo(String taskName,
String infoKey,
String infoValue)
Deprecated.
|
String |
startDebug(String workerId,
String debugId)
以 debug 模式,启动 instance
本接口是提供给内部 debug 工具使用的,不建议用户直接使用
|
void |
stop()
停止正在执行的Instance
注意:停止动作为异步执行,如果需要确保 Instance 停止,可以在调用本方法后轮询 Instance.isTerminated() 直至返回 true
|
void |
waitForSuccess()
阻塞当前线程, 直到Instance结束
|
void |
waitForSuccess(long interval)
阻塞当前线程, 直到Instance结束
|
void |
waitForTerminated(long interval,
boolean isBlock)
阻塞当前线程, 直到Instance结束。不检查 Instance 状态。
|
String |
waitForTerminatedAndGetResult()
直接获取作业结果,无需调用 waitForSuccess 方法
该方法仅适用于一个 Instance 对应一个 Task 的作业
|
public void reload() throws OdpsException
LazyLoad
reload
in class LazyLoad
OdpsException
public void stop() throws OdpsException
OdpsException
public Map<String,Instance.Result> getTaskResultsWithFormat() throws OdpsException
Task
的运行结果Task
的运行结果, key为Task
的名称,value为Instance.Result
OdpsException
public Map<String,String> getTaskResults() throws OdpsException
Task
的运行结果, key为Task
的名称,value为Instance.Result
.getString()的结果。OdpsException
public List<Instance.InstanceResultModel.TaskResult> getRawTaskResults() throws OdpsException
Instance.InstanceResultModel.TaskResult
列表OdpsException
public String getRawSubqueryResults(String subqueryId, String taskName) throws OdpsException
Instance.InstanceResultModel.TaskResult
列表OdpsException
public Instance.TaskCost getTaskCost(String taskName) throws OdpsException
taskName
- 指定的TaskNameInstance.TaskCost
OdpsException
public String getTaskInfo(String taskName, String infoKey) throws OdpsException
taskName
- 指定的TaskNameinfoKey
- 指定相关信息的标志符OdpsException
@Deprecated public String setTaskInfo(String taskName, String infoKey, String infoValue) throws OdpsException
taskName
- 指定的TaskNameinfoKey
- 指定相关信息的标志符infoValue
- 指定相关信息的内容OdpsException
public Instance.SetInformationResult setInformation(String taskName, String infoKey, String infoValue) throws OdpsException
taskName
- 指定的TaskNameinfoKey
- 指定相关信息的标志符infoValue
- 指定相关信息的内容OdpsException
public Instance.TaskSummary getTaskSummary(String taskName) throws OdpsException
taskName
- 指定的TaskNameInstance.TaskSummary
OdpsException
public Map<String,Instance.TaskStatus> getTaskStatus() throws OdpsException
Task
的执行状态Instance.TaskStatus
对象OdpsException
public Set<String> getTaskNames() throws OdpsException
Task
的名称Task
的名称集合OdpsException
public boolean isSuccessful() throws OdpsException
Instance
是否执行成功
成功的含义为Instance执行结束,并且所有Task的状态为成功
OdpsException
public void waitForSuccess() throws OdpsException
OdpsException
- Instance失败public void waitForSuccess(long interval) throws OdpsException
interval
- 内部轮询间隔OdpsException
- Instance失败public void waitForTerminated(long interval, boolean isBlock)
interval
- 内部轮询间隔isBlock
- 是否阻塞,
不开启 block,将在客户端长轮询,直到作业结束
开启 block 请求将会在服务端等待一段时间(每次请求等待5s,直到作业结束。long-polling),
block 模式能够跳过 instance post running 阶段(key-path-end optimize)public String waitForTerminatedAndGetResult() throws OdpsException
OdpsException
public static String getStageProgressFormattedString(List<Instance.StageProgress> stages)
public List<Instance.StageProgress> getTaskProgress(String taskName) throws OdpsException
taskName
- Task名称Instance.StageProgress
列表OdpsException
public Odps getOdps()
public String getId()
public Instance.Status getStatus(boolean isBlock)
Instance状态如下:
isBlock
- 是否使用 block 模式
若启用 block 模式, 请求会被 block 住一定时间 (一般是 5s),随后再返回 instance 的状态。
若不启用,请求将会立即返回。与接口 getStatus()
的行为一致。Status.TERMINATED
public Instance.Status getStatus()
Instance状态如下:
Status.TERMINATED
public boolean isTerminated()
public boolean isSync()
public String getOwner()
public Date getStartTime()
public Date getEndTime()
public List<Task> getTasks() throws OdpsException
Task
实例。Task
实例。OdpsException
public int getPriority() throws OdpsException
OdpsException
public String getJobName() throws OdpsException
OdpsException
public String getLog(String workerId, LogType logType, int size) throws OdpsException
workerId
- Worker ID,Task
内Worker的唯一标示。logType
- LogType
对象size
- 展示Log内容的长度OdpsException
IOException
public String getTaskDetailJson(String taskName) throws OdpsException
OdpsException
public OdpsHooks getOdpsHooks()
public void setOdpsHooks(OdpsHooks hooks)
public boolean isHookInvoked()
public void setHookInvoked(boolean hookInvoked)
public String getTaskDetailJson2(String taskName) throws OdpsException
OdpsException
public String getTaskQuotaJson(String taskName) throws OdpsException
taskName
- OdpsException
public String startDebug(String workerId, String debugId) throws OdpsException
workerId
- Worker ID,Task
内Worker的唯一标示。debugId
- Debug ID, 标志此次 debugOdpsException
public Instance.InstanceQueueingInfo getQueueingInfo() throws OdpsException
Instance.InstanceQueueingInfo
的迭代器OdpsException
public void addUserDefinedHeaders(Map<String,String> headers)
public void setMcqaV2(boolean mcqaV2)
Copyright © 2024 Alibaba Cloud Computing. All rights reserved.