大数据上云第一课:MaxCompute授权和外表操作躲坑指南

一、子账号创建、AK信息绑定
如果您是第一次使用子账号登录数加平台和使用DataWorks,需要确认以下信息:
• 该子账号所属主账号的企业别名。
• 该子账号的用户名和密码。
• 该子账号的AccessKey ID和AccessKey Secret。
• 确认主账号已经允许子账号启用控制台登录。
• 确认主账号已经允许子账号自主管理AccessKey。
1、子账号创建
(1)创建子账号
(2)绑定AK信息
(3)DataWorks给定角色
(1)使用阿里云账号(主账号)登录RAM控制台。
(2)在左侧导航栏的人员管理菜单下,单击用户。
(3)单击新建用户。
(4)输入登录名称和显示名称。
(5)在访问方式区域下,选择控制台密码登录。
(6)单击确认。

说明:
(1)单击添加用户,可一次性创建多个RAM用户。
(2)RAM用户创建完成后,务必保存用户名和登录密码,并将其告知子账号。

2、创建RAM子账号的访问密钥
访问密钥对开发人员在DataWorks中创建的任务顺利运行非常重要,该密钥区别于登录时填写的账号和密码,主要用于在阿里云各产品间互相认证使用权限。因此主账号需要为子账号创建AccessKey。创建成功后,请尽可能保证AccessKey ID和AccessKey Secret的安全,切勿让他人知晓,一旦有泄漏的风险,请及时禁用和更新。运行密钥AK包括AccessKey ID和AccessKey Secret两部分。如果云账号允许RAM用户自主管理AccessKey,RAM用户也可以自行创建AccessKey。
为子账号创建AccessKey的操作如下所示。
(1)在左侧导航栏的人员管理菜单下,单击用户。
(2)在用户登录名称/显示名称列表下,单击目标RAM用户名称。
(3)在用户AccessKey 区域下,单击创建新的AccessKey。
(4)单击确认。

说明:
首次创建时需填写手机验证码。
AccessKeySecret只在创建时显示,不提供查询,请妥善保管。若AccessKey泄露或丢失,则需要创建新的AccessKey,最多可以创建2个AccessKey。

3、给RAM子账号授权
如果您需要让子账号能够创建DataWorks工作空间,需要给子账号授予AliyunDataWorksFullAccess权限。
(1)在左侧导航栏的人员管理菜单下,单击用户。
(2)在用户登录名称/显示名称列表下,找到目标RAM用户。
(3)单击添加权限,被授权主体会自动填入。
(4)在左侧权限策略名称列表下,单击需要授予RAM用户的权限策略。
(5)单击确定。
(6)单击完成。

说明:在右侧区域框,选择某条策略并单击×,可撤销该策略。

二、子账号生产环境创建函数、访问资源授权,OSS外部表授权
1、账号生产环境创建函数、访问资源授权
子账号登录DataWorks控制台之后,单击工作空间管理,成员管理给该子账号一个相应的角色。各角色对应的权限可以在工作空间管理界面的权限列表查看。此处添加的成员角色对生产环境是隔离的。下面介绍一下生产环境创建函数、访问资源授权。
(1)创建一个新的角色,给角色授权。


创建角色:create role worker;
角色指派:grant worker TO ram$建伟MaxCompute:banzhan;(ram$建伟MaxCompute:banzhan为RAM账号)
对角色授权:grant CreateInstance, CreateResource, CreateFunction, CreateTable, List ON PROJECT wei_wwww TO ROLE worker;

(2)创建UDF函数。

CREATE FUNCTION banzha_udf as 'com.aliyun.udf.test.UDF_DEMO' using '1218.jar';

前提条件是已经上传1818.jar包。资源上传结合搬站第一课视频。
2、OSS访问授权
MaxCompute需要直接访问OSS的数据,前提是需要您将OSS的数据相关权限赋给MaxCompute的访问账号。如果没有进行相应授权创,创建外部表会发现报错如下:
image.png
此时需要我们授权去访问OSS
授权方式有两种:
(1)当MaxCompute和OSS的Owner是同一个账号时,可以直接登录阿里云账号后,单击此处完成一键授权。一键授权,我们可以在访问控制给改子账号添加管理对象存储服务(OSS)权限(AliyunOSSFullAccess)。
(2)自定义授权
a.新增一个RAM角色oss-admin
b.修改角色策略内容设置

--当MaxCompute和OSS的Owner是同一个账号,设置如下。
{
"Statement": [
{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Principal": {
"Service": ["odps.aliyuncs.com"
]
}
}
],
"Version": "1"
}--当MaxCompute和OSS的Owner不是同一个账号,设置如下。
{
"Statement": [
{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Principal": {
"Service": ["MaxCompute的Owner云账号id@odps.aliyuncs.com"
]
}
}
],
"Version": "1"
}

c.授予角色访问OSS必要的权限AliyunODPSRolePolicy

{
"Version": "1",
"Statement": [
{
"Action": [
"oss:ListBuckets",
"oss:GetObject",
"oss:ListObjects",
"oss:PutObject",
"oss:DeleteObject",
"oss:AbortMultipartUpload",
"oss:ListParts"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
--可自定义其它权限。

d.将权限AliyunODPSRolePolicy授权给该角色。
三、OSS外部表创建指引
1、外部表创建的语法格式介绍
(1)外部表创建示例:

CREATE EXTERNAL TABLE IF NOT EXISTS fc_rcfile
(   `id` int,  `name` string
)
PARTITIONED BY ( `time_ds` string)
ROW FORMAT SERDE  
'org.apache.hadoop.hive.serde2.columnar.LazyBinaryColumnarSerDe'  
STORED AS RCFILE
LOCATION 'oss://oss-cn-beijing-internal.aliyuncs.com/oss-huabei2/jianwei/fc_rcfile/';

(2)LOCATION说明
LOCATION必须指定一个OSS目录,默认系统会读取这个目录下所有的文件。
建议您使用OSS提供的内网域名,否则将产生OSS流量费用。
访问OSS外部表,目前不支持使用外网Endpoint。
目前STORE AS单个文件大小不能超过3G,如果文件过大,建议split拆分。
建议您OSS数据存放的区域对应您开通MaxCompute的区域。由于MaxCompute只有在部分区域部署,我们不承诺跨区域的数据连通性。

OSS的连接格式为oss://oss-cn-shanghai-internal.aliyuncs.com/Bucket名称/目录名称/。目录后不要加文件名称,以下为错误用法。
http://oss-odps-test.oss-cn-shanghai-internal.aliyuncs.com/Demo/  -- 不支持http连接。
https://oss-odps-test.oss-cn-shanghai-internal.aliyuncs.com/Demo/ -- 不支持https连接。
oss://oss-odps-test.oss-cn-shanghai-internal.aliyuncs.com/Demo -- 连接地址错误。
oss://oss://oss-cn-shanghai-internal.aliyuncs.com/oss-odps-test/Demo/vehicle.csv  
-- 不必指定文件名。

(3)外部表创建格式说明
语法格式与Hive的语法相当接近,但需注意以下问题。

a.STORED AS关键字,在该语法格式中不是创建普通非结构化外部表时用的STORED BY关键字,这是目前在读取开源兼容数据时独有的。STORED AS后面接的是文件格式名字,例如ORC/PARQUET/RCFILE/SEQUENCEFILE/TEXTFILE等。
b.外部表的column schemas必须与具体OSS上存储的数据的schema相符合。
c.ROW FORMAT SERDE:非必选选项,只有在使用一些特殊的格式上,比如TEXTFILE时才需要使用。
d.WITH SERDEPROPERTIES:当关联OSS权限使用STS模式授权时,需要该参数指定odps.properties.rolearn属性,属性值为RAM中具体使用的Role的Arn的信息。您可以在配置STORED AS <file format>的同时也通过<serde class>说明file format文件格式。以ORC文件格式为例,如下所示。
CREATE EXTERNAL TABLE [IF NOT EXISTS] <external_table>
(<column schemas>)
[PARTITIONED BY (partition column schemas)]
ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.orc.OrcSerde'
WITH SERDEPROPERTIES ('odps.properties.rolearn'='${roleran}'
STORED AS ORC
LOCATION 'oss://${endpoint}/${bucket}/${userfilePath}/'e.不同file format对应的serde class如下:
• ALIORC: com.aliyun.apsara.serde.AliOrcSerDe
• SEQUENCEFILE: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
• TEXTFILE: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
• RCFILE: org.apache.hadoop.hive.serde2.columnar.LazyBinaryColumnarSerDe
• ORC: org.apache.hadoop.hive.ql.io.orc.OrcSerde
• ORCFILE: org.apache.hadoop.hive.ql.io.orc.OrcSerde
• PARQUET: org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe
• AVRO: org.apache.hadoop.hive.serde2.avro.AvroSerDe

(4)用Arn、AK两种认证方式建外表示例
a.用RAM中具体使用的Role的Arn的信息创建外部表
当关联OSS权限使用STS模式授权时,需要该参数指定odps.properties.rolearn属性,属性值为RAM中具体使用的Role的Arn的信息。

WITH SERDEPROPERTIES ('odps.properties.rolearn'='${roleran}'

示例如下:

CREATE EXTERNAL TABLE IF NOT EXISTS fc_csv
(
vehicleId string,
recordId string,
patientId string,
calls string,
locationLatitute string,
locationLongtitue string,
recordTime string,
direction string
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES('separatorChar'=',','odps.properties.rolearn'='acs:ram::1928466352305391:role/oss-admin')
STORED AS TEXTFILE
LOCATION 'oss://oss-cn-beijing-internal.aliyuncs.com/oss-odps-bucket/extra_test/fc_csv';

b.明文AK创建外部表(不推荐使用这种方式)
如果不使用STS模式授权,则无需指定odps.properties.rolearn属性,直接在Location传入明文AccessKeyId和AccessKeySecret。
Location如果关联OSS,需使用明文AK,写法如下所示。


LOCATION 'oss://${accessKeyId}:${accessKeySecret}@${endpoint}/${bucket}/${userPath}/'

示例如下:

CREATE EXTERNAL TABLE IF NOT EXISTS fc_csv1
(
vehicleId string,
recordId string,
patientId string,
calls string,
locationLatitute string,
locationLongtitue string,
recordTime string,
direction string
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES('separatorChar'=',','odps.properties.rolearn'='acs:ram::1928466352305391:role/oss-admin')
STORED AS TEXTFILE
-- LOCATION 'oss://oss-cn-beijing-internal.aliyuncs.com/oss-odps-bucket/extra_test/fc_csv';
LOCATION 'oss://LTAI4FfgVEQQwsNQ*******:J8FGZaoj2CMcunFrVn1FrL*****wM@oss-cn-beijing-internal.aliyuncs.com/oss-odps-bucket/extra_test/fc_csv';

2、创建 Rcfile 类型的外部表
(1)查询HIVE表schema

show create table fc_rcfile;**

结果如下:

CREATE TABLE `fc_rcfile`(
`id` int,  
`name` string)
PARTITIONED BY (  
`time_ds` string)
ROW FORMAT SERDE  
'org.apache.hadoop.hive.serde2.columnar.LazyBinaryColumnarSerDe'  
STORED AS INPUTFORMAT  
'org.apache.hadoop.hive.ql.io.RCFileInputFormat'  
OUTPUTFORMAT  
'org.apache.hadoop.hive.ql.io.RCFileOutputFormat'
LOCATION
'hdfs://emr-header-1.cluster-138804:9000/user/hive/warehouse/extra_demo.db/fc_rcfile'

(2)在MaxCompute创建外部表

CREATE EXTERNAL TABLE IF NOT EXISTS fc_rcfile
(  `id` int,  
`name` string)
PARTITIONED BY ( `time_ds` string)
ROW FORMAT SERDE  
'org.apache.hadoop.hive.serde2.columnar.LazyBinaryColumnarSerDe'  
STORED AS RCFILE
LOCATION 'oss://oss-cn-beijing-internal.aliyuncs.com/oss-huabei2/jianwei/fc_rcfile/'; 

(3)添加分区

alter table fc_rcfile ADD PARTITION (time_ds = '20191209') ;
alter table fc_rcfile ADD PARTITION (time_ds = '20191210') ;
alter table fc_rcfile ADD PARTITION (time_ds = '20191211') ; 批量创建分区可参数使用MMA工具

(4)查询数据

select * from fc_rcfile where time_ds = '20191209' ;
select * from fc_rcfile where time_ds = '20191210' ;
select * from fc_rcfile where time_ds = '20191211' ;

3、创建Json类型的外部表
(1)创建Json类型的外部表

CREATE EXTERNAL TABLE `student`(
`student` map<string,string> COMMENT 'from deserializer',  
`class` map<string,string> COMMENT 'from deserializer',  
`teacher` map<string,string> COMMENT 'from deserializer')
COMMENT '学生课程信息'
ROW FORMAT SERDE  
'org.apache.hive.hcatalog.data.JsonSerDe'  
STORED AS TEXTFILE
LOCATION
'oss://oss-cn-beijing-internal.aliyuncs.com/oss-huabei2/jianwei/student'

(2)在对应的OSS控制台bucket上传Json文件数据。
(3)查询外部表的数据
报错信息如下所示:
image.png
解决办法:需要设置开启hive兼容的flag。

set odps.sql.hive.compatible=true;

重新查询数据即可正确返回Json数据。
image.png
以下是在Hive中查询的数据,可以看到这两处数据是一致的。
image.png
4、创建CSV格式的外部表
(1)创建CSV格式的外部表

 建表语句示例如下:
CREATE EXTERNAL TABLE IF NOT EXISTS fc_csv
(
vehicleId string,
recordId string,
patientId string,
calls string,
locationLatitute string,
locationLongtitue string,
recordTime string,
direction string
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES('separatorChar'=',')
STORED AS TEXTFILE
LOCATION 'oss://oss-cn-beijing-internal.aliyuncs.com/oss-huabei2/jianwei/fc_csv';

(2)查询数据

set odps.sql.hive.compatible=true;
select *  from fc_csv;

不加Hive兼容的flag设置会发现有如下报错信息:

FAILED: ODPS-0123131:User defined function exception - internal error - Fatal Error Happended

image.png
image.png
5、创建压缩格式的外部表
创建外部表时列分隔符需要使用field.delim。选择delimiter会报错或数据没有按照预期的分割符去分割。以下分别按照两种方式去创建外部表。
需要设置以下说明的属性flag。
image.png
(1)创建外部表

a.列分隔符定义为:delimiterdrop TABLE if exists oss_gzip;
CREATE EXTERNAL TABLE IF NOT EXISTS  `oss_gzip` (
`userid` string,
`job` string,
`education` string,
`region` string
) 
PARTITIONED BY (dt STRING COMMENT '日期')
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
WITH SERDEPROPERTIES ( 
'delimiter'='\t',
'odps.text.option.gzip.input.enabled'='true', 
'odps.text.option.gzip.output.enabled'='true'
)
STORED AS TEXTFILE
LOCATION 'oss://oss-cn-beijing-internal.aliyuncs.com/oss-huabei2/jianwei/gzipfile/';

查询数据的时候会发现数据并没有按照我们的分隔符去进行分割,如下图所示:
image.png
image.png

b.列分隔符定义为:field.delimdrop TABLE if exists oss_gzip2;
CREATE EXTERNAL TABLE IF NOT EXISTS  `oss_gzip2` (
`userid` string,
`job` string,
`education` string,
`region` string
) 
PARTITIONED BY (dt STRING COMMENT '日期')
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
WITH SERDEPROPERTIES ( 
'field.delim'='\t',
'odps.text.option.gzip.input.enabled'='true', 
'odps.text.option.gzip.output.enabled'='true'
)
STORED AS TEXTFILE
LOCATION 'oss://oss-cn-beijing-internal.aliyuncs.com/oss-huabei2/jianwei/gzipfile/';

image.png
image.png

注意:在进行列分隔符定义时使用field.delim,不可以使用delimiter

6、创建存在新数据类型的外部表
当外部表创建字段涉及新数据类型时,需要开启新类型flag。

set odps.sql.type.system.odps2=true;

否则会报如下错误:
image.png

set odps.sql.type.system.odps2=true ;
drop TABLE if exists oss_gzip3;
CREATE EXTERNAL TABLE IF NOT EXISTS  `oss_gzip3` (
`userid` FLOAT ,
`job` string,
`education` string,
`region` VARCHAR(20)
) 
PARTITIONED BY (dt STRING COMMENT '日期')
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
WITH SERDEPROPERTIES ( 
'field.delim'='\t',
'odps.text.option.gzip.input.enabled'='true', 
'odps.text.option.gzip.output.enabled'='true'
)
STORED AS TEXTFILE
LOCATION 'oss://oss-cn-beijing-internal.aliyuncs.com/oss-huabei2/jianwei/flag_file/';添加对应的分区:
alter table oss_gzip3 add if NOT EXISTS  partition(dt='20191224');查询数据:
select * from oss_gzip3  where dt='20191224';

四、利用Information Schema元数据查看project、table的操作行为以及费用计算
1、主账号安装package
开始使用前,需要以Project Owner身份安装Information Schema的权限包,获得访问本项目元数据的权限。
以下错误是没有安装对应的Information Schema的权限包和子账号没有相关的权限
image.png
安装Information Schema的权限包方式有如下两种:
(1)在MaxCompute命令行工具(odpscmd)中执行如下命令。

odps@myproject1>install package information_schema.systables;

(2)在DataWorks中的数据开发 > 临时查询中执行如下语句。

install package information_schema.systables;

2、给子账号授权

grant read on package information_schema.systables to role worker;

3、查询元数据信息

select * from information_schema.tasks_history limit 20;

image.png
TASKS_HISTORY字段列信息如下:
image.png
image.png
4、通过 TASKS_HISTORY 计算SQL费用
SQL任务按量计费:您每执行一条SQL作业,MaxCompute将根据该作业的输入数据及该SQL的复杂度进行计费。该费用在SQL执行完成后产生,并在第二天做一次性的计费结算。

开发者版SQL计算任务的计费公式为:
一次SQL计算费用 = 计算输入数据量 * 单价(0.15元/GB)标准版SQL计算任务的计费公式为:
一次SQL计算费用 = 计算输入数据量 * SQL复杂度 * 单价(0.3元/GB)按量付费一次SQL计算费用 = 计算输入数据量 * SQL复杂度 * 单价(0.3元/GB)

计算输入数据量:指一条SQL语句实际扫描的数据量,大部分的SQL语句有分区过滤和列裁剪,所以一般情况下这个值会远小于源表数据大小。
在 information_schema.tasks_history中字段input_bytes为实际扫描的数据量也就是我们的计算输入数据量。字段complexity为sql复杂度。所以我们可以根据以下公式来计算SQL费用。

一次SQL计算费用 = input_bytes * complexity * 单价(0.3元/GB)

欢迎加入“MaxCompute开发者社区2群”,点击链接MaxCompute开发者社区2群申请加入或扫描以下二维码加入。

原文链接
本文为云栖社区原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/516737.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

程序员的年龄越大编程能力越弱???原来我们都理解错了

大多数人都说程序员是低调多金的代表&#xff0c;但是一旦年龄突破30岁&#xff0c;就容易陷入各种被嫌弃中&#xff0c;无法逃脱三十五岁定律。这让许多已到中年的程序员感觉忽然头上悬了几把剑。一位74岁的数据科学家Gene DAngelo则恰恰相反。他曾在社区提出话题&#xff1a;…

唱吧基于 MaxCompute 弥补自建体系的不足

本文作者&#xff1a;马星显 唱吧大数据负责人 使用 MaxCompute之前&#xff0c;唱吧使用自建体系来存储处理各端收集来的日志数据&#xff0c;包括请求访问记录、埋点数据、服务器业务数据等。初期这套基于开源组件的体系有力支撑了数据统计、业务报表、风控等业务需求。但随…

1.倒排索引 2.逻辑斯提回归算法

1.倒排索引 https://help.aliyun.com/zh/open-search/retrieval-engine-edition/introduction-to-inverted-indexes 倒排索引&#xff08;Inverted Index&#xff09;是一种数据结构&#xff0c;用于快速查找包含某个特定词或词语的文档。它主要用于全文搜索引擎等应用&#…

塑云科技基于 KafKa+OTS+MaxCompute 完成物联网系统技术重构

塑云科技&#xff1a;性能突破&#xff0c;基于KafKaOTSMaxCompute 完成了一次物联网系统技术重构 背景&#xff1a;创业团队&#xff0c;专注于氢能燃料电池生态链的运营支撑&#xff0c;当前主要的业务组成为新能源车整车实时运营监控分析&#xff0c;加氢站实时运营监控分析…

什么是Docker?看这一篇文章就够了

作者 | 码农的荒岛求生来源 | 程序员小灰&#xff08;ID: chengxuyuanxiaohui&#xff09;程序员&#xff0c;应该怎样理解docker&#xff1f;容器技术的起源假设你们公司正在秘密研发下一个“今日头条”APP&#xff0c;我们姑且称为明日头条&#xff0c;程序员自己从头到尾搭建…

基于MaxCompute 衣二三帮助客户找到合适自己的衣服

摘要&#xff1a;本文由衣二三CTO程异丁为大家讲解了如何基于MaxCompute构建智能化运营工具。 衣二三作为亚洲最大的共享时装平台&#xff0c;MaxCompute是如何帮助它解决数据提取速度慢、数据口径差异等问题呢&#xff1f;程异丁通过衣二三数据体系架构&#xff0c;从用户运营…

Nexus 3.31.1 maven 私服 搭建篇 linux

文章目录1. Nexus 3 下载2. 解压3. 目录调整4. 重命名5. 创建用户6. 调整家目录7. 指定启动用户8. 环境变量配置9. 刷新环境变量10. 修改工作目录11. 指定jdk12. 修改权限13. nexus启动14. 状态验证15. 浏览器验证16. 登录17. 初始化设置软件版本JDK1.8.0_202Nexus3.31.1Disk s…

Typora简介

Typora简介 一、Typora是什么&#xff1f; ​ Typora 是一款支持实时预览的 Markdown 文本编辑器。它有 OS X、Windows、Linux 三个平台的版本&#xff0c;并且由于仍在测试中&#xff0c;是完全免费的。 ​ Typora 首先是一个 Markdown 文本编辑器&#xff0c;它支持且仅支…

基于MaxCompute InformationSchema进行血缘关系分析

一、需求场景分析 在实际的数据平台运营管理过程中&#xff0c;数据表的规模往往随着更多业务数据的接入以及数据应用的建设而逐渐增长到非常大的规模&#xff0c;数据管理人员往往希望能够利用元数据的分析来更好地掌握不同数据表的血缘关系&#xff0c;从而分析出数据的上下游…

不要再被 Python 洗脑了!!

Python 作为一种解释型技术脚本语言&#xff0c;越来越被认可为程序员新时代的风口语言。 无论是刚入门的程序员&#xff0c;还是年薪百万的 BATJ 的技术大牛都无可否认&#xff1a;Python的应用能力是成为一名码农大神的必要项。 而作为Python初学者来讲&#xff0c;最大的问题…

Nexus 3.31.1 maven 私服 仓库配置篇 linux

文章目录1. 新建仓库概述2. 阿里云代理仓库3. 自己的仓库4. 自己的仓库组5. 效果图1. 新建仓库概述 总共新建3各仓库 一个是国内开源仓库&#xff0c;加速下载 一个是自己的仓库&#xff0c;用于存放自己公司的jar 一个是子类型的仓库&#xff0c;用于将上述两个组成一个地址 …

Struct复杂数据类型的UDF编写、兼容HIVE的GenericUDF编写

一、背景介绍&#xff1a; MaxCompute 2.0版本升级后&#xff0c;Java UDF支持的数据类型从原来的BIGINT、STRING、DOUBLE、BOOLEAN扩展了更多基本的数据类型&#xff0c;同时还扩展支持了ARRAY、MAP、STRUCT等复杂类型&#xff0c;以及Writable参数。Java UDF使用复杂数据类型…

如何跨项目工作空间访问MaxCompute资源和函数?

1、背景介绍 同一个主账号下面的两个工作空间&#xff0c;工作空间名称分别为 A工作空间名称:wei_wwww A工作空间子账号&#xff1a;mc_oss B工作空间名称:wei_mc B工作空间子账号&#xff1a;bigdata_wei 现在B工作空间子账号bigdata_wei需要访问A工作空间子账号mc_oss创建的U…

Nexus 3.31.1 maven 私服 仓库和IntelliJ IDEA 2021.2 实战篇 linux

文章目录一、maven配置1. 私服配置2. 替换后的配置二、IntelliJ IDEA2.1. 创建项目2.2. 指定配置2.3. 下载依赖三、nexus3 监控3.1. 查看依赖版本3.2. 版本对比3.3. aliyun 仓库地址一、maven配置 1. 私服配置 在本地的maven 配置settings.xml内容&#xff0c;用下面内容覆盖…

我把这篇文章给女朋友看,她终于明白什么是「数据中台」了

来源 | 智领云科技责编 | Carol封图 | CSDN 下载自视觉中国这几天&#xff0c;女朋友一直忙着为自己挑选情人节礼物&#xff0c;毕竟直男的审美她也觉得不靠谱。就在昨天&#xff0c;她气冲冲地跑过来问我&#xff1a;为什么有些平台总是推荐一些我不喜欢的东西&#xff1f;为什…

发光的二次元克拉克拉 满足年轻用户个性化、碎片化的文娱需求

克拉克拉&#xff08;KilaKila&#xff09;是国内专注二次元、主打年轻用户的娱乐互动内容社区软件。KilaKila 推出互动语音直播、短视频配音、对话小说等功能&#xff0c;满足当下年轻用户个性化、碎片化的文娱需求。随着业务规模增长&#xff0c;海量数据存储与计算的瓶颈也日…

Nexus 3.31.1 maven 私服 服务器配置篇 linux

文章目录一、以服务运行1. 编写配置2. 赋予可执行权限3. 配置自启动4. 启动nexus5. 监控状态6. 停止服务二、配置文件说明2.1. JAVA配置2.2. 自定义配置2.3. 工作/日志 目录修改三、使用nginx代理3.1. HTTP3.2. HTTPS四、其他配置4.1. 配置匿名访问4.2. 更改管理员电子邮件地址…

混合云模式助力斗鱼搭建混搭大数据架构

云栖号案例库&#xff1a;【点击查看更多上云案例】 不知道怎么上云&#xff1f;看云栖号案例库&#xff0c;了解不同行业不同发展阶段的上云方案&#xff0c;助力你上云决策&#xff01; 案例背景 2019杭州云栖大会大数据企业级服务专场&#xff0c;由斗鱼大数据高级专家张龙…

架构师技术文档:Redis+Nginx+Spring全家桶+Dubbo精选

最近花了很长的时间去搜罗整理Java核心技术好文&#xff0c;我把每个Java核心技术的优选文章都整理成了一个又一个的文档。今天就把这些东西分享给老铁们&#xff0c;也能为老铁们省去不少麻烦&#xff0c;想学什么技能了&#xff0c;遇到哪方面的问题了 直接打开文档学一学就好…

天弘基金交易数据清算从8小时缩至1.5小时 解决余额宝算力难题

天弘基金作为国内总规模最大的公募基金&#xff0c;阿里云MaxCompute为我们构建了企业级一站式大数据解决方案。MaxCompute对于海量数据的存储、运维、计算能力强大且安全稳定&#xff0c;MaxCompute服务将原本需要清算8小时的用户交易数据缩短至清算1个半小时&#xff0c;同时…