将Amazon,S3将数据迁移到阿里云OSS上( 五 )


L_SuppKey int。
L_LineNumber int。
L_Quantity int。
L_ExtendedPrice decimal(13 ,2)。
L_Discount decimal(13 ,2)。
L_Tax decimal(13 ,2)。
L_ReturnFlag varchar(64)。
L_LineStatus varchar(64)。
L_ShipDate timestamp。
L_CommitDate timestamp。
L_ReceiptDate timestamp。
L_ShipInstruct varchar(64)。
L_ShipMode varchar(64)。
L_Comment varchar(64)。
skip varchar(64)
CREATE TABLE nation
N_NationKey int。
N_Name varchar(64)。
N_RegionKey int。
N_Comment varchar(160)。
skip varchar(64)
CREATE TABLE orders
O_OrderKey int。
O_CustKey int。
O_OrderStatus varchar(64)。
O_TotalPrice decimal(13 ,2)。
O_OrderDate timestamp。
O_OrderPriority varchar(15)。
O_Clerk varchar(64)。
O_ShipPriority int。
O_Comment varchar(80)。
skip varchar(64)
CREATE TABLE part
P_PartKey int。
P_Name varchar(64)。
P_Mfgr varchar(64)。
P_Brand varchar(64)。
P_Type varchar(64)。
P_Size int。
P_Container varchar(64)。
P_RetailPrice decimal(13 ,2)。
P_Comment varchar(64)。
skip varchar(64)
CREATE TABLE partsupp
PS_PartKey int。
PS_SuppKey int。
PS_AvailQty int。
PS_SupplyCost decimal(13 ,2)。
PS_Comment varchar(200)。
skip varchar(64)
CREATE TABLE region
R_RegionKey int。
R_Name varchar(64)。
R_Comment varchar(160)。
skip varchar(64)
CREATE TABLE supplier
S_SuppKey int。
S_Name varchar(64)。
S_Address varchar(64)。
S_NationKey int。
S_Phone varchar(18)。
S_AcctBal decimal(13 ,2)。
S_Comment varchar(105)。
skip varchar(64)
本文的TPC-H数据集需要使用MaxCompute2.0数据类型和Decimal2.0数据类型 , 在创建数据表前需要检查并设置使用2.0数据类型:
setproject odps.sql.type.system.odps2=true 。
setproject odps.sql.decimal.odps2=true 。
5.2 LOAD命令加载OSS数据到MaxCompute表
5.2.1 创建具备访问OSS权限的Ram Role
LOAD命令支持STS认证和AccessKey认证两种方式 , AccessKey方式需要使用明文AccessKey/ AccessKey Secret , 例如:
LOAD overwrite table orders
ROW FORMAT SERDE “org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe”
STORED AS PARQUET 。
STS授权认证不暴露AccessKey信息 , 使用更安全 , 本方案将使用STS方式满足MaxCompute加载OSS数据的跨服务授权需要 。
使用STS认证方式加载OSS数据前 , 您需要:
1.创建可以读取OSS的阿里云RAM Role
在查询OSS上数据之前 , 需要对将OSS的数据相关权限赋给MaxCompute的访问 , 授权详见授权文档 。
本方案中创建了具备” AliyunOSSFullAccess”权限policy的ram角色 。
将Amazon,S3将数据迁移到阿里云OSS上
文章图片
将Amazon,S3将数据迁移到阿里云OSS上