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 ...");
// 设置 flag。Map settings = new
HashMap<>();settings.put("odps.sql.type.system.odps2", "true");...
// 设置其它 flags。task.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百问百答》了解更多详情!<<