MaxCompute Studio基础
1. 官方文档地址
https://help.aliyun.com/document_detail/50889.html
2. studio的日志在哪里?
记录在idea.log里,可以通过Help --> Show Log in Finder 找到。
3. 如何知道我当前MaxCompute studio版本?
在Intellij IDEA -> Preference 或 File -> Settings 里可以看到插件版本
4. 查询结果追加模式吗?我想对比几次查询的结果。
intellij平台支持将tab钉住,这样该次查询结果就不会被新的运行冲掉,类似下图:
5. 如何删除一个run configuration?
Edit configurations --> 在Run/Debug configurations对话框左侧列表单击选中某个configuration --> 点击工具栏上的“-”按钮。
6. studio及一些相关群
MaxCompute studio用户群:21791804
MaxCompute开发者社区群:11782920
Dataworks数加交流群:11718465
PyOdps用户群:11701793
project explorer相关
1.新建连接时AccessId/AccessKey, endpoint如何获得?
这是你与MaxCompute建立连接的鉴权信息,可点击个人信息里的accesskeys获取AK,如下图:
如果要修改某个MaxCompute project连接的AK,在studio project explorer窗口选中该project,右键选择Modify project properties菜单,在dialog中修改即可。
2. 我需要的表在project explorer中不存在
有两种方式可以将该表同步下来:
1)Tables & Views 右键菜单项 Open specific entity,输入你要同步的表名
2)studio默认最多抓取1k张表,可能你本地的表已经达到上限。若要修改,可在project上右键,选择show|modify project properties,然后点击setting tab,酌情修改同步列表数量。然后在Tables & Views 右键菜单项 Refresh meta ,这样会重新抓取所有的table到本地。
3. project explorer窗口找不到,无法添加MaxCompute project
新版本的IntelliJ工具窗口默认收起,可参考如下使其显示:
4. 有些临时表或系统生成的临时资源不想同步到本机
可以在下图处配置你不想同步资源的正则表达式,让后refresh即可。
5. No module named odps.udf
本机需要安装pyodps。Mac默认请在/usr/bin/python下安装pyodps: sudo /usr/bin/python -m pip install pyodps,或者在Preferences->MaxCompute Studio->General Settings->Python Path to resolve udf处配置python路径。
UDF相关
1. 在MaxCompute studio上发布的UDF,在dataworks上看不到?
studio和dataworks可以理解为都是MaxCompute服务的客户端,studio发布的UDF会注册到MaxCompute服务端。dataworks的函数管理模块目前只能看到通过dataworks页面注册的函数,暂时看不到直接通过studio或console注册的函数。不过因已注册到MaxCompute服务端,在dataworks里写sql也是可以直接使用该函数的。
2. 本地运行UDF/MR/Graph 时报错
Unrecogonized option -w
module依赖的sdk版本太低,pom中手动更新至0.28.4及以上即可。
Class not found exception: com.aliyun.odps.xx.local...
本地运行依赖odps-sdk的local包(odps-udf-local,odps-mapred-local,odps-graph-local),检查下pom.xml中是否存在这些包(创建studio java module时,这些local包会自动添加到pom.xml中 http://help.aliyun.com/document_detail/50901.html )。
3. UDF/MR本地运行时, 表schema和数据存在哪里?
本地运行时,程序后台会读取你在run configuration配置的表,自动通过tunnel下载表数据到本机warehouse(如截图位置,路径在你IntelliJ project目录下)。若data文件不存在,请检查idea.log是否有报错。注意:数据只会下载一次,后续多次运行时会重复读取这个data文件。若需要更新本地运行时表的schema或数据,可删除warehouse下对应表目录(譬如这里的hy_test),这样就会重新下载一次。
4. 本地运行python UDF报错
- ValueError: level must be >= 0 studio使用pyodps 提供的pyou脚本来驱动UDF本机运行,pyou目前只支持python 2,不支持python 3。
- 不支持get_cache_table。
5. 右键没有MaxCompute java菜单
确保maven module已成功创建,src->main->java 源码目录是蓝色的。
6. 新建MaxCompute java run configuration没有表配置项
因UDF和MR共用MaxCompute java run configuration,其中UDF需配置表,而MR无需配置,需要告诉studio你待调试的类是UDF。具体的,删除该run configuration,然后在UDF类上右键->运行,触发创建新run configuration,studio识别类是UDF时就会出现表的配置项,参考UDF开发文档。
7. UDF/MR本地运行run configuration中无法选择local project?
检查本机warehouse及example_project是否存在
8. MR/Graph本地运行时,支持resource arguments吗?
支持的,run configuration里VM options使用-Dodps.cache.resources=xx即可:
其他
1. Windows上job graph展示不出来?
可能是IntelliJ使用的jdk版本过低导致的兼容性问题,请升级jdk到oracle jdk1.8_121及以上。
2. 某些Linux版本上无法登录,或者Job graph无法显示,提示No class find error等异常
原因是studio使用了javafx,某些linux平台如 Debian 上的jdk是不包含javafx的,解决方法是手动安装openjfx,例如:sudo apt-get install openjfx
3. 打开Job detail时报错OutOfMemoryError: Java heap space。
原因是job detail结果太大了,内存溢出,需要手动调整intelliJ启动的jvm参数(具体位置:help --> Edit Custom VM options...)
4. 运行pyodps脚本报错:This room(default) is not configured.
需要配置pyodps room环境,具体参考https://pyodps.readthedocs.io/zh_CN/latest/interactive-zh.html。
5. 使用console报错NoClassDefFoundError: javax/xml/bind/JAXBExeption
console不支持java9,请使用java8。
6. 每次运行sql的时候,都会打开作业详情标签页,这个行为是否可以关闭?
支持的,如下复选框不打勾即可:
7. Show Table Detail 中文乱码问题
原因是IntelliJ Appearance中使用的字符集不支持中文。需要在Appearance & Behavior -> Appearance 下使用支持中文的字符集(Microsoft YaHei)或改为Default,如下所示:
8. sql包含中文,提交后logview中文乱码
确认下你的intellij文件编码是不是UTF-8