开发者社区 问答 正文

MaxCompute工具及下载:MaxCompute Studio:开发 Java 程序:非结构化开发



MaxCompute2.0新增了一套 非结构化数据处理框架,支持通过外部表的方式直接访问OSS,OTS等。Studio对此提供了一些代码模板支持,方便用户快速开发。

编写StorageHandler/Extractor/Outputter

  1. 创建MaxCompute Java Module(在examples目录下的unstructured文件夹有示例代码供参考)。
  2. 在module的源码目录即src->main上右键new,选择MaxCompute Java。
  3. 输入包名.类名,如myun.MyExtractor,选择类型Extractor,点击OK。
  4. 模板已自动填充框架代码,只需要编写自己的逻辑代码即可。
  5. 类似上述步骤可分别完成Outputter和StorageHandler的编写。


打包上传


StorageHandler/Extractor/Outputter写好后,可以参考 打包发布将已写好的java程序打成jar包,并作为resource上传到服务端。

创建外部表

  1. 在scripts目录右键 new | MaxCompute Script。
  2. 输入sql脚本名,Target Project选择脚本将要在哪个MaxCompute project下执行,点击OK。
  3. editor中选择create external table live template,能快速插入创建外部表脚本模板:然后修改外部表名称,列及类型,StorageHanlder类路径,配置参数,外部路径,jar名等,修改完成后点击运行脚本,创建该外部表。
  4. 接下来,就可以查询该外部表了,类似:

展开
收起
行者武松 2017-10-24 13:42:11 2172 分享 版权
阿里云 AI 助理回答

MaxCompute 2.0 引入的非结构化数据处理框架极大地增强了对诸如OSS(对象存储服务)、OTS(开放表存储)等阿里云存储服务中非结构化数据的处理能力。通过外部表功能,用户可以直接在MaxCompute中查询和分析这些存储在外部系统中的数据,而无需先将数据导入MaxCompute内部表,这大大提升了数据处理的灵活性和效率。

编写StorageHandler/Extractor/Outputter

  • StorageHandler: 定义了如何与外部数据源交互,包括读取和写入数据的方式。
  • Extractor: 负责从外部数据源读取数据。
  • Outputter: 负责将数据写出到外部数据源。

在阿里云DataWorks(原Data IDE)的Studio中,你可以利用提供的代码模板快速开发这些组件。按照指引创建MaxCompute Java Module,并选择相应的类型(Extractor、Outputter或StorageHandler),Studio会自动生成基础代码框架,你只需在此基础上实现具体的逻辑。

打包上传

完成编写后,你需要将Java程序打包成JAR文件,并上传至MaxCompute作为资源。这个过程可以通过DataWorks的发布流程或者使用MaxCompute客户端命令行工具来完成。确保你的JAR包包含所有必要的依赖,并且正确设置了访问权限和配置参数。

创建外部表

接下来,在DataWorks Studio中创建MaxCompute SQL脚本,使用预设的live template快速生成创建外部表的SQL语句。在这个脚本中,你需要指定外部表的名称、列定义、使用的StorageHandler类路径、外部数据源的配置参数、外部数据的路径以及之前上传的JAR包名称。执行该脚本后,MaxCompute就会创建一个指向外部数据源的外部表。

查询外部表

一旦外部表创建成功,你就可以像操作普通MaxCompute表一样进行查询了。例如,使用SELECT语句来检索数据,或者执行更复杂的分析任务,如JOIN操作、聚合函数等,从而充分利用MaxCompute强大的计算能力来处理和分析非结构化数据。

综上所述,MaxCompute 2.0的非结构化数据处理框架通过简化外部数据接入、提供丰富的API支持和便捷的开发工具,使得处理大规模非结构化数据变得更加高效和灵活。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答