【MaxCompute 常见问题】 Java SDK

Java SDK


Java 连接MaxCompute 常见使用问题


1. 如何使用 MaxCompute Java SDK 设置 SQL 的 Flag?

使用 DataWorks 或 MaxCompute Console 提交 SQL 时,通常需要设置 SQL 的 Flag。如果需要使用MaxCompute 新数据类型,通过 Session 级别方式开启,则需要在涉及新数据类型的 SQL 前加 Set Flag 语句:set odps.sql.type.system.odps2=true;。 使用 SDK提交 SQL 时,不能简单地把 Set Flag 语句直接放到 SQL Query 中执行。以Java SDK 为例,设置 Flag 的正确方式如下。


// 构造 SQLTask 对象。SQLTask task = new

SQLTask();task.setName("foobar");task.setQuery("select ...");

// 设置 flagMap settings = new

HashMap<>();settings.put("odps.sql.type.system.odps2", "true");...

// 设置其它 flagstask.setProperty("settings", new

JSONObject(settings).toString());

// 这里是关键:将 flags 对应的json string 设置到 settings property 中。Instance instance = o dps.instances().create(task); // 执行。


2.    在 MaxCompute 中可以在 Java 业务代码中调起一个任务开始执行吗?

可以,在业务代码中调MaxCompute 的 Java sdk 执行 SQL 任务。可参考官方文档


3.    如何在 MaxCompute Java SDK 上使用 Logview 排错?

MaxCompute Java SDK 提供了 Logview 接口 i = SQLTask.run(odps, sql);

String logview = odps.logview().generateLogView(i, 7 * 24);


>>快来点击免费下载《阿里云MaxCompute百问百答》了解更多详情!<<


上一篇:流程控制引擎组件化


下一篇:怎样在myEclipse中使用debug调试程序?