MaxCompute2.0支持通过外部表的方式直接访问OSS、OTS等。MaxCompute Studio对此提供了一些代码模板方便您快速进行非结构化数据查询开发。本文为您介绍如何使用MaxCompute Studio查询非结构化数据。

前提条件

您需要完成以下操作:

编写StorageHandler、Extractor和Outputter

  1. Project区域,单击Module的源码目录(即src > main),选择new > java,选择MaxCompute Java
  2. 创建Driver。填写NameKind,单击OK
    • Name:创建的MaxCompute Java Class名称。如果还没有创建Package,在此处填写packagename.classname,会自动生成Package。
    • Kind:选择类型为Extractor。目前支持的类型包含自定义函数(UDF/UDAF/UDTF)、MapReduce(Driver/Mapper/Reducer)和非结构化开发(StorageHandler/Extractor/Outputer)等。
      说明 创建StorageHandler和Outputter时,请选择Kind分别为StorageHandlerOutputer
  3. 创建Extractor成功后,在编辑界面开发Java程序。代码框中模板已自动填充框架代码,只需要自行编写需要的逻辑代码即可。
  4. 以同样的方式创建StorageHandler和Outputter。

调试Extractor和Outputter

您可以参考examples目录下的unit test单元测试示例,编写测试用例调试Extractor和Outputter。

打包上传

调试成功之后,将Java程序打成Jar包,并作为资源上传至MaxCompute服务端,详情请参见打包、上传和注册

查询非结构化数据

  1. Project区域,右键单击scripts,选择new > MaxCompute SQL 脚本
  2. Script Name后输入SQL脚本名称,MaxCompute project中选择执行脚本的MaxCompute项目,单击OK
  3. 在编辑器中输入创建外表的SQL语句。
  4. 输入查询语句,单击运行查询数据。