查询非结构化数据

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

前提条件

您需要完成以下操作:

编写StorageHandler、Extractor和Outputter

  1. Project区域,右键单击Module的源码目录(即src > main > java),选择new > MaxCompute Java

    11

  2. 填写Name并选择类型为ExtractorStorageHandlerOutputer,按下Enter键。

    • Name:创建的MaxCompute Java Class名称。如果还没有创建Package,在此处填写packagename.classname,会自动生成Package。

    • 选择类型为ExtractorStorageHandlerOutputer

      说明

      您可以根据需要选择Extractor、StorageHandler或Outputer类型:

      • Extractor:自定义输入数据解析器,用来实现自定义处理数据读取的逻辑,即如何读取非结构化数据。

      • StorageHandler:用于指定和配置自定义Extractor和Outputer的实现类。

      • Outputer: 自定义输出数据Outputer,用来实现自定义输出数据的逻辑,即如何写出非结构化数据。

  3. 创建Extractor成功后,在编辑界面开发Java程序。代码框中模板已自动填充框架代码,只需要自行编写需要的逻辑代码即可。

通过单元测试调试Extractor和Outputter

您可以参照examples目录下的单元测试示例,编写测试用例。示例

打包上传

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

查询非结构化数据

  1. Project区域,右键单击scripts,选择new > MaxCompute SQL 脚本

    添加脚本

  2. Script Name后输入SQL脚本名称,MaxCompute Project中选择执行脚本的MaxCompute项目,单击OK

    创建脚本

  3. 在编辑器中输入创建外部表的SQL语句,并单击运行图标,完成外部表创建。

    编写脚本

  4. 新建一个MaxCompute SQL脚本,输入如下查询语句,并单击运行图标,查询数据。

    查询

相关文档

示例:通过自定义解析器创建OSS外部表