




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、大數(shù)據(jù)計(jì)算服務(wù)MaxCompute基本介紹大數(shù)據(jù)計(jì)算服務(wù)MaxCompute/基本介紹大數(shù)據(jù)計(jì)算服務(wù)MaxCompute/基本介紹 PAGE 27 PAGE 27基本介紹基本概念項(xiàng)目空間(Project)MaxComputeDatabaseSchema,是進(jìn)行多用戶隔離和訪問(wèn)控制的主要邊界。一個(gè)用戶可以同時(shí)擁有多個(gè)項(xiàng)目空間的權(quán)限。通過(guò)安全授權(quán),可 以在一個(gè)項(xiàng)目空間中訪問(wèn)另一個(gè)項(xiàng)目空間中的對(duì)象,例如:表(Table) ,資源(Resource) ,函數(shù)(Function), 實(shí)例(Instance)use my_project - 進(jìn)入一個(gè)名為my_project的項(xiàng)目空間用戶可以通過(guò) Use
2、Project 命令進(jìn)入一個(gè)項(xiàng)目空間,例如:use my_project - 進(jìn)入一個(gè)名為my_project的項(xiàng)目空間運(yùn)行此命令后,用戶會(huì)進(jìn)入一個(gè)名為my_project的項(xiàng)目空間,從而可以操作該項(xiàng)目空間下的對(duì)象,例如:表(Table) ,資源(Resource) ,函數(shù)(Function) ,實(shí)例(Instance) 等,而不需要關(guān)心操作對(duì)象所在的項(xiàng)目空間。Use Project 是ODPS客戶端提供的命令。在詳細(xì)介紹這部分內(nèi)容之前,文檔會(huì)對(duì)這些命令做簡(jiǎn)短的介紹說(shuō)明,具體說(shuō)明請(qǐng)參考 ODPS常用命令 。表是 MaxCompute 的數(shù)據(jù)存儲(chǔ)單元。它在邏輯上也是由行和列組成的二維結(jié)構(gòu),每行代
3、表一條記錄,每列表示相同數(shù)據(jù)類型的一個(gè)字段,一條記錄可以包含一個(gè)或多個(gè)列,各個(gè)列的名稱和類型構(gòu)成這張表的 Schema。在 MaxCompute 中,所有的數(shù)據(jù)都被存儲(chǔ)在表中。表中的列可以是 MaxCompute 支持的任意種數(shù)據(jù)類型(Bigint,Double,String,Boolean,Datetime)。MaxCompute 中的各種不同類型計(jì)算任務(wù)的操作對(duì)象(輸入、輸出)都是表。用戶可以創(chuàng)建表,刪除表以及向表中導(dǎo)入數(shù)據(jù)。分區(qū)表指的是在創(chuàng)建表時(shí)指定分區(qū)空間,即指定表內(nèi)的某幾個(gè)字段作為分區(qū)列。在大多數(shù)情況下,用戶可以將 分區(qū)類比為文件系統(tǒng)下的目錄。MaxCompute 將分區(qū)列的每個(gè)值作
4、為一個(gè)分區(qū)(目錄)。用戶可以指定多級(jí)分區(qū),即將表的多個(gè)字段作為表的分區(qū),分區(qū)之間正如多級(jí)目錄的關(guān)系。在使用數(shù)據(jù)時(shí)如果指定了需要訪問(wèn)的分區(qū) 名稱,則只會(huì)讀取相應(yīng)的分區(qū),避免全表掃描,提高處理效率,降低費(fèi)用。create table src (key stringcreate table src (key stringvalue bigintpartitioned by (pt string); - 目前,MaxComputeString類型分區(qū)select * from src where pt=20151201MaxCompute20151201分區(qū)的數(shù)據(jù)納入輸入中select * from
5、src where pt = 20151201; - 錯(cuò)誤的使用方式。在這樣的使用方式下,MaxCompute并不能保障分區(qū)過(guò)濾機(jī)制的有效性。pt是String類型,當(dāng)String類型與Bigint(20151201)比較時(shí),MaxCompute會(huì)將二者轉(zhuǎn)換為Double類型,此時(shí)有 可能會(huì)有精度損失。的有效性。pt是String類型,當(dāng)String類型與Bigint(20151201)比較時(shí),MaxCompute會(huì)將二者轉(zhuǎn)換為Double類型,此時(shí)有 可能會(huì)有精度損失。備注:- 詳細(xì)介紹請(qǐng)參見(jiàn) 分區(qū)表 中的介紹。MaxCompute 表中的列必須是下列描述的任意一種類型,各種類型的描述及取值
6、范圍包括:類型描述取值范圍Bigint8字節(jié)有符號(hào)整型。請(qǐng)不要使用整 型 的 最 小 值 (- 9223372036854775808),這是系統(tǒng)保留值。-9223372036854775807 9223372036854775807String字符串,支持UTF-8編碼。其他編碼的字符行為未定義。單個(gè)String列最長(zhǎng)允許8MB。Boolean布爾型。True/FalseDouble8字節(jié)雙精度浮點(diǎn)數(shù)。-1.0 10308 1.0 10308Datetime日期類型。使用東八區(qū)時(shí)間作為系統(tǒng)標(biāo)準(zhǔn)時(shí)間。0001-01-01 00:00:00 9999-12-31 23:59:59備注:- 各種數(shù)
7、據(jù)類型均可以為NULL。資源(Resource)是 MaxCompute 的特有概念。用戶如果想使用 MaxCompute 的 自定義函數(shù)(UDF) 或MapReduce 功能需要依賴資源來(lái)完成,例如:SQLUDFUDF后,需要將編譯好的jar包以資源的形式上傳到ODPS。運(yùn)行這個(gè)UDF時(shí),MaxCompute 會(huì)自動(dòng)下載這個(gè)jar包,獲取用戶代碼,運(yùn)行UDF,無(wú)需用戶干預(yù)。上傳jar包的過(guò)程就是在 MaxCompute 上創(chuàng)建資源的過(guò)程,這個(gè)jar包是 MaxCompute 資源的一種。MapReduceMapReduce程序后,將編譯好的jar包作為一種資源上傳到ODPS。運(yùn)行框架會(huì)自動(dòng)下
8、載這個(gè)jar資源,獲取用戶代碼。用戶同樣可以將文 MaxComputeMaxCompute。用戶可以在UDF及MapReduce的運(yùn)行過(guò)程中讀取、使用這些資源。MaxCompute 提供了讀取、使用資源的接口。詳細(xì)示例請(qǐng)查看 資源使用示例 及 UDTF使用說(shuō)明 中的描述。需要注意的是,ODPS的 自定義函數(shù)(UDF) 或 MapReduce 對(duì)資源的讀取有一定的限制,請(qǐng)參考應(yīng)用限制 。MaxCompute 資源的類型包括:File類型;Table類型:MaxComputeJar類型:編譯好的JavaJar包;Archive類型:通過(guò)資源名稱中的后綴識(shí)別壓縮類型,支持的壓縮文件類型包括:.zip
9、/.tgz/.tar.gz/.tar/jar;備注:- 有關(guān)資源的操作介紹請(qǐng)參閱 創(chuàng)建資源 、 刪除資源 、 查看資源清單 及 查看資源信息 。MaxCompute 為用戶提供了SQL計(jì)算功能,用戶可以在 MaxCompute SQL中使用系統(tǒng)的 內(nèi)建函數(shù) 完成一定的計(jì)算和計(jì)數(shù)功能。但當(dāng)內(nèi)建函數(shù)無(wú)法滿足要求時(shí),用戶可以使用 MaxCompute 提供的Java編程接口開(kāi)發(fā)自定義函數(shù)(User Defined Function,以下簡(jiǎn)稱UDF)。自定義函數(shù)(UDF) 又可以進(jìn)一步分為標(biāo)量值函數(shù)(UDF),自定義聚合函數(shù)(UDAF)和自定義表值函數(shù)(UDTF)三種。用戶在開(kāi)發(fā)完成UDF代碼后,需要
10、將代碼編譯成jar包,并將此jar包以jar資源的形式上傳到 MaxCompute,最后在 MaxCompute 中注冊(cè)此UDF。在使用UDF時(shí),只需要在SQL中指明UDF的函數(shù)名及輸入?yún)?shù)即可,使用方式與 MaxCompute 提供的內(nèi)建函數(shù)相同。備注:- 有關(guān)函數(shù)的操作請(qǐng)參考 創(chuàng)建函數(shù) , 刪除函數(shù) 及查看函數(shù)清單 。任務(wù)(Task)是MaxCompute的基本計(jì)算單元。SQL及MapReduce功能都是通過(guò)任務(wù)(Task)完成的。對(duì)于用戶提交的大多數(shù)任務(wù),特別是計(jì)算型任務(wù),例如:SQL DML語(yǔ)句 ,MapReduce 等,MaxCompute會(huì)對(duì)其進(jìn)行解析,得出任務(wù)的執(zhí)行計(jì)劃。執(zhí)行計(jì)劃
11、是由具有依賴關(guān)系的多個(gè)執(zhí)行階段(Stage)構(gòu)成的。目前,執(zhí)行 計(jì)劃邏輯上可以被看做一個(gè)有向圖,圖中的點(diǎn)是執(zhí)行階段,各個(gè)執(zhí)行階段的依賴關(guān)系是圖的邊。MaxCompute會(huì)依照?qǐng)D(執(zhí)行計(jì)劃)中的依賴關(guān)系執(zhí)行各個(gè)階段。在同一個(gè)執(zhí)行階段內(nèi),會(huì)有多個(gè)進(jìn)程,也稱之 為Worker,共同完成該執(zhí)行階段的計(jì)算工作。同一個(gè)執(zhí)行階段的不同Worker只是處理的數(shù)據(jù)不同,執(zhí)行邏輯 完全相同。計(jì)算型任務(wù)在執(zhí)行時(shí),會(huì)被實(shí)例化,用戶可以操作這個(gè)實(shí)例(Instance)的信息,例如:獲取實(shí)例狀態(tài) StatusInstance,KillInstance等。另一方面,部分MaxCompute任務(wù)并不是計(jì)算型的任務(wù),例如:SQ
12、L中的 DDL語(yǔ)句 ,這些任務(wù)本質(zhì)上僅需要讀取、修改MaxCompute中的元數(shù)據(jù)信息。因此,這些任務(wù)無(wú)法被解析出執(zhí)行計(jì)劃。備注:- 在MaxCompute中,并不是所有的請(qǐng)求都會(huì)被轉(zhuǎn)化為任務(wù)(Task),例如:項(xiàng)目空間(Project) 、資源(Resource) 、 自定義函數(shù)(UDF)及 實(shí)例(Instance)的操作就不需要通過(guò)MaxCompute的任務(wù)來(lái)完成。MaxCompute任務(wù)(Task) MaxComputekill Canceled-查看某實(shí)例的狀態(tài)status;kill Canceled-查看某實(shí)例的狀態(tài)status;服務(wù)連接在這一章節(jié),我們需要對(duì)如何連接MaxCompu
13、te的問(wèn)題做出完整說(shuō)明。用戶在不同網(wǎng)絡(luò)環(huán)境下,需要選擇不同 的服務(wù)地址(Endpoint)來(lái)連接服務(wù),否則將無(wú)法向服務(wù)發(fā)起請(qǐng)求。同時(shí),不同的網(wǎng)絡(luò)連接也會(huì)對(duì)用戶的計(jì)費(fèi)產(chǎn) 生影響。從服務(wù)層面來(lái)看,MaxCompute向用戶提供了兩大類連接地址:MaxCompute服務(wù)本身的連接地址及MaxCompute Tunnel的連接地址。用戶可以向MaxCompute發(fā)出除數(shù)據(jù)上傳、下載外的所有請(qǐng)求,例如:創(chuàng)建表、刪除某個(gè)函數(shù)、創(chuàng)建 一個(gè)作業(yè)等等。針對(duì)不同的網(wǎng)絡(luò)環(huán)境(公網(wǎng)、經(jīng)典網(wǎng)絡(luò)及VPC網(wǎng)絡(luò)),在不同的Region下,MaxCompute服務(wù)向用戶提供了多個(gè)連接地址。上傳、下載數(shù)據(jù)的能力是通過(guò)MaxCom
14、pute Tunnel服務(wù)提供的。當(dāng)用戶想通過(guò)Tunnel上傳、下載數(shù)據(jù)時(shí),僅能夠通過(guò)Tunnel提供的鏈接地址發(fā)起請(qǐng)求,而不是MaxCompute服務(wù)本身的連接地址。同 理,針對(duì)不同的網(wǎng)絡(luò)環(huán)境及Region分布,Tunnel從網(wǎng)絡(luò)情況來(lái)看,分為三種連接地址:從公網(wǎng)訪問(wèn)MaxCompute及Tunnel;通過(guò)阿里云經(jīng)典網(wǎng)絡(luò)環(huán)境訪問(wèn)MaxCompute及Tunnel;通過(guò)阿里云提供的VPC服務(wù)訪問(wèn)MaxCompute及Tunnel;從Region部署情況來(lái)看,MaxCompute 目前僅在華東2(上海)區(qū)域部署,在華東1,華東2,華北2提供訪問(wèn)連接。這意味著,雖然不同Region下的用戶通過(guò)不同
15、的連接訪問(wèn) MaxCompute 服務(wù),但用戶的數(shù)據(jù)存儲(chǔ)及計(jì)算消耗均發(fā)生在華東2(上海)區(qū)域:2,華北2區(qū)域提供了通過(guò)公網(wǎng)、經(jīng)典網(wǎng)絡(luò)、VPC網(wǎng)絡(luò)訪問(wèn)服務(wù)的能力。 任意用戶僅可以通過(guò)當(dāng)前區(qū)域內(nèi)的連接訪問(wèn)服務(wù);在其他區(qū)域的用戶,僅提供公網(wǎng)及經(jīng)典網(wǎng)絡(luò)訪問(wèn)服務(wù)的能力。在不同的網(wǎng)絡(luò)及區(qū)域環(huán)境下訪問(wèn)MaxCompute,對(duì)用戶的下載行為也有不同的影響:所有通過(guò)公網(wǎng)下載數(shù)據(jù)的行為均收費(fèi);在華東2區(qū)域通過(guò)經(jīng)典網(wǎng)絡(luò)及VPC網(wǎng)絡(luò)的數(shù)據(jù)下載行為不收費(fèi);在其他區(qū)域內(nèi),如果通過(guò)公網(wǎng)訪問(wèn)服務(wù)需要付費(fèi),通過(guò)經(jīng)典網(wǎng)絡(luò)訪問(wèn)則不收費(fèi)。下表詳細(xì)介紹了在不同區(qū)域下,不同網(wǎng)絡(luò)環(huán)境下,訪問(wèn)MaxCompute及其Tunnel服務(wù)的連接地
16、址:區(qū)域服務(wù)公網(wǎng)經(jīng)典網(wǎng)絡(luò)VPC華北2odpsservice.odps.ali odps- ext.aliyun- odps- ext.aliyun- 華北2tunneldt.odps.aliyun.c omdt- ext.nu16.odps.a dt- ext.nu16.odps.a 華東2odpsservice.odps.ali odps- ext.aliyun- odps- ext.aliyun- 華東2tunneldt.odps.aliyun.c omdt.eu13.odps.ali dt- ext.eu13.odps.a 華東1odpsservice.odps.ali odps- ex
17、t.aliyun- odps- ext.aliyun- 華東1tunneldt.odps.aliyun.c omdt- ext.odps.aliyun- dt- ext.odps.aliyun- 其它odpsservice.odps.ali odps- ext.aliyun- 不支持,需要用戶走公網(wǎng)訪問(wèn)其他tunneldt.odps.aliyun.c omdt- ext.odps.aliyun- 不支持,需要用戶走公網(wǎng)訪問(wèn)例如:某用戶通過(guò)華北2區(qū)域的ECS在經(jīng)典網(wǎng)絡(luò)下訪問(wèn)Tunnel服務(wù),則需要使用dt-ext.nu16.odps.aliyun- 通過(guò) 華北2區(qū)域的ECS在經(jīng)典網(wǎng)絡(luò)下訪問(wèn)Tun
18、nel服務(wù),則MaxCompute不保障其連通性。總結(jié)性說(shuō)明:在公網(wǎng)條件下,不同RegionMaxCompue:MaxCTunnel在經(jīng)典網(wǎng)絡(luò)及VPC環(huán)境下,不同Region的用戶可以通過(guò)如下連接訪問(wèn)服務(wù):MaxC 在華北2區(qū)訪問(wèn)Tunnel的連接地址; 在華東2區(qū)訪問(wèn)Tunnel的連接地址;常用命令最新的MaxCompute 服務(wù)對(duì)常用命令做了調(diào)整,新的命令風(fēng)格更貼近于Hive的使用方式,方便原有的Hadoop/Hive用戶。MaxCompute 提供了對(duì)項(xiàng)目空間、表、資源及實(shí)例等對(duì)象的一系列操作。用戶可以通過(guò)客戶端命令及SDK操作這些的對(duì)象。為了幫助您快速了解MaxCompute ,在本章
19、節(jié),我們將詳細(xì)介紹如何通過(guò)客戶端使用這些命令。本章節(jié)所針對(duì)的常用命令,是針對(duì)新版console的。備注:;對(duì)于SDKMaxComputeSDK;進(jìn)入項(xiàng)目空間use ;命令格式:use ;行為:進(jìn)入指定項(xiàng)目空間。進(jìn)入該空間后可以直接操作該項(xiàng)目空間下的所有對(duì)象。項(xiàng)目空間不存在或當(dāng)前用戶不在此項(xiàng)目空間中,異常返回;odps my_projectuse my_project; -my_project是用戶有權(quán)限訪問(wèn)的一個(gè)project示例:odps my_projectuse my_project; -my_project是用戶有權(quán)限訪問(wèn)的一個(gè)project備注:上面給出的是在客戶端中運(yùn)行此命令的示例
20、。所有的MaxCompute 命令關(guān)鍵字、項(xiàng)目空間名、表名、列名大小寫(xiě)不敏感。odps my_projectselect * from test_src;在命令運(yùn)行后,用戶可以直接訪問(wèn)該項(xiàng)目空間下的對(duì)象。例如,假設(shè)my_project項(xiàng)目空間下有表test_src,用 戶運(yùn)行:odps my_projectselect * from test_src;MaxCompute 會(huì)自動(dòng)搜索項(xiàng)目空間my_project下的表。如果存在此表,返回表中的數(shù)據(jù),如果此表不存在,異常退出。如果用戶在my_project下想要訪問(wèn)另一項(xiàng)目空間my_project2下的表test_src,則需要指定項(xiàng)目空odps
21、 my_projectselect * from my_project2.test_src;間名:odps my_projectselect * from my_project2.test_src;此時(shí)返回my_project2項(xiàng)目空間下的數(shù)據(jù)結(jié)果,而不是my_project下的test_src表數(shù)據(jù)。MaxCompute 沒(méi)有提供創(chuàng)建及刪除項(xiàng)目空間的命令。用戶可以通過(guò)管理控制臺(tái)對(duì)各自的項(xiàng)目空間完成更多的配置及操作。Create TableCREATE TABLE IF NOT EXISTS table_name(col_name data_type COMMENT col_comment,
22、.) COMMENT table_commentCREATE TABLE IF NOT EXISTS table_name(col_name data_type COMMENT col_comment, .) COMMENT table_commentPARTITIONEDBY(col_namedata_typeCOMMENTcol_comment,.) LIFECYCLEdaysAS select_statementCREATE TABLE IF NOT EXISTS table_nameLIKE existing_table_name行為:創(chuàng)建一張表注解:表名與列名均對(duì)大小寫(xiě)不敏感;表名,
23、列名中不能有特殊字符,只能用英文的a-z, A-Z及數(shù)字和下劃線_,且以字母開(kāi)頭,名稱的長(zhǎng)度不超過(guò)128字節(jié),否則報(bào)錯(cuò);注釋內(nèi)容是長(zhǎng)度不超過(guò)1024字節(jié)的有效字符串,否則報(bào)錯(cuò);(CREATETABLE);CREATECREATETABLEIFNOTEXISTSsale_detail( shop_nameSTRING,customer_id STRING, total_price DOUBLE)PARTITIONED BY (sale_date STRING,region STRING); -如果沒(méi)有同名表存在,創(chuàng)建一張分區(qū)表sale_detailDrop TableDROP TABLE IF
24、EXISTS table_name;命令格式:DROP TABLE IF EXISTS table_name;行為:刪除一張表如果不指定IF EXISTS選項(xiàng)而表不存在,則返回異常;若指定此選項(xiàng),無(wú)論表是否存在,皆返回成功。描述:table_name:要?jiǎng)h除的表名;DROPDROPTABLEsale_detail;DROP TABLE IFEXISTSsale_detail;sale_detail表,均成功返回;Describe TableDESC ;命令格式:DESC ;行為:返回指定表的信息。具體返回包括:Owner(表的屬主),Project(表所屬的項(xiàng)目空間最后一次DDL操作時(shí)間),L
25、astModifiedTime(表中的數(shù)據(jù) 最后一次被改動(dòng)的時(shí)間),InternalTable(表示被描述的對(duì)象是表,總是顯示YES),Size(表數(shù)據(jù)所占存 儲(chǔ)容量的大小,單位Byte),NativeColumns(非分區(qū)列的信息,包括:列名,類型,備注),Partition Columns(分區(qū)列信息,包括:分區(qū)名,類型,備注)。參數(shù):table_name:表名或視圖名稱|2014-01-01 17:32:132014-01-0117:57:38| CreateTime:| LastDDLTime:+|Owner: HYPERLINK mailto:ALIYUN%24odpsuser AL
26、IYUN$odpsuser|Project:test_project|TableComment:|+- 描述一張分區(qū)表odpsproject_nameDESCsale_detail;+|+| string|string| sale_date| region+|InternalTable:YES|Size:0|+|NativeColumns:|+|Field|Type|Comment|+|shop_name|string|customer_id|string|total_price|double|+|PartitionColumns:|+|1970-01-0108:00:00|LastModif
27、iedTime:注解:上面給出的是在客戶端中運(yùn)行此命令的示例;如果是不帶分區(qū)的表,將不會(huì)顯示PartitionColumns相關(guān)信息;如果描述的是一個(gè)視圖(View),將不顯示InternalTable選項(xiàng),而是VirtualView選項(xiàng),其值總是 為YES。與此類似地,Size選項(xiàng)將會(huì)被ViewText選項(xiàng)替代,表示View的定義,例如:select * fromsrc創(chuàng)建視圖。查看分區(qū)信息desc table_name partition(pt_spec)命令格式:desc table_name partition(pt_spec)行為:查看某個(gè)分區(qū)表具體的分區(qū)信息。示例:+OK|2015
28、-10-10 08:48:482015-10-10 08:48:482015-10-1101:33:35| CreateTime:| LastDDLTime:|LastModifiedTime:odps project_namedesc meta.m_security_users partition (ds=20151010);+|PartitionSize:2109112|+Show TablesSHOW TABLES;命令格式:SHOW TABLES;行為:列出當(dāng)前項(xiàng)目空間下所有的表示例:odps project_nameshow tables; ALIYUN$odps_user:tabl
29、e_nameodps project_nameshow tables; ALIYUN$odps_user:table_name上面給出的是在客戶端中運(yùn)行此命令的示例;ALIYUN是系統(tǒng)提示符,表示用戶是阿里云用戶; HYPERLINK mailto:odps_user是用戶名 odps_user是用戶名,表示該表的創(chuàng)建者;table_name是表名;Show PartitionsSHOW PARTITIONS ;命令格式:SHOW PARTITIONS ;行為:列出一張表的所有分區(qū);odpsproject_nameSHOWodpsproject_nameSHOWPARTITIONStable_
30、name; partition_col1=col1_value1/partition_col2=col2_value1 partition_col1=col1_value2/partition_col2=col2_value2注解:上面給出的是在客戶端中運(yùn)行此命令的示例;partition_col1和partition_col2表示該表的分區(qū)列;col1_value1,col2_value1,col1_value2,col2_value2表示分區(qū)列對(duì)應(yīng)的值;Show InstancesSHOW INSTANCES FROM startdate TO enddate number命令格式:SHO
31、W INSTANCES FROM startdate TO enddate number行為:返回由當(dāng)前用戶創(chuàng)建的實(shí)例信息。參數(shù):startdate, enddate:返回指定時(shí)間段內(nèi)的實(shí)例,即從起始時(shí)間startdate到結(jié)束時(shí)間enddate的實(shí)例信息,需滿足如下格式:yyyy-mm-dd,精度到天??蛇x參數(shù),若不指定,返回用戶三天內(nèi)提交的實(shí)例;number個(gè)實(shí)例信息。若不 指定number,返回滿足要求的所有實(shí)例信息;輸出項(xiàng)包括:StartTime(時(shí)間精確到秒),RunTime(s),Status(實(shí)例狀態(tài)),包括:Waiting, SuccessFailedRunningCancel
32、ledSuspended),InstanceID以及實(shí)例對(duì)應(yīng)的SQL:InstanceIDQueryInstanceIDQuery20150428055754916grvd5vj4select*fromtab_pack_privlimit20;Success2015-04-28 13:57:55 1s. . . . . . . .RunTime StatusStartTimeInstance的狀態(tài)有6種RunningSuccessWaitingFailedSuspendedCancelled注解:上面給出的是在客戶端中運(yùn)行此命令的示例;Status InstanceSTATUS ;命令格式:S
33、TATUS ;行為:返回指定實(shí)例的狀態(tài),狀態(tài)包括:Success,FailedRunningCancelled;如果此實(shí)例并非當(dāng)前用戶創(chuàng)建,異常返回;odps $project_namestatus 20131225123302267gk3u6k4y2; Success描述:instance_id: 實(shí)例的唯一標(biāo)識(shí)符。指定查詢哪個(gè)實(shí)例狀態(tài)。odps $project_namestatus 20131225123302267gk3u6k4y2; Success查看ID為20131225123302267gk3u6k4y2的實(shí)例的狀態(tài),查詢結(jié)果為Success。注解:上面給出的是在客戶端中運(yùn)行此命
34、令的示例;Kill Instancekill ;命令格式:kill ;行為:停止用戶指定的實(shí)例,此實(shí)例的狀態(tài)必須為Running。需要注意的是這是一個(gè)異常的過(guò)程,在系統(tǒng)接 受此請(qǐng)求并返回后,并不意味著分布式的作業(yè)已經(jīng)停止,而只代表系統(tǒng)已接收到請(qǐng)求,因此還要用status命令查看此instance的狀態(tài)后才可以確定。odps $project_namekill 20131225123302267gk3u6k4y2;參 數(shù) : Running的實(shí)例的ID,否則拋異常; 示例:odps $project_namekill 20131225123302267gk3u6k4y2;停止ID為2013122
35、5123302267gk3u6k4y2的實(shí)例。注解:上面給出的是在客戶端中運(yùn)行此命令的示例;Desc Instance命令格式:desc instance ;desc instance ;行為:根據(jù)具體的實(shí)例ID獲得作業(yè)信息,包括:具體的sql,owner,startime,endtime,status等信息。參 數(shù) : 實(shí)例的唯一標(biāo)識(shí)符。odpsodps$project_namedescinstance20150715103441522gond1qa2; ID20150715103441522gond1qa2Owner HYPERLINK mailto:ALIYUN%24maojing.mj
36、 ALIYUN$maojing.mjStartTime2015-07-15 18:34:41EndTime2015-07-15 18:34:42StatusTerminatedconsole_select_query_task_1436956481295 Success Queryselect * frommj_test;查詢ID為20150715103441522gond1qa2的實(shí)例對(duì)應(yīng)的作業(yè)信息。注解:上面給出的是在客戶端中運(yùn)行此命令的示例;添加資源add file as alias comment cmt-f; addadd file as alias comment cmt-f; a
37、ddarchiveasaliascommentcmt-f;addtablepartitionasaliascommentcmt-f; add jar commentcmt-f;說(shuō)明:file/archive/table/jar表明資源類型,資源類型的介紹請(qǐng)參考資源(Resource);local_file:表示本地文件所在路徑。并以此文件名作為該資源名,資源名是資源的唯一標(biāo)識(shí)。table_name:表示MaxComputePARTITION (spec):當(dāng)添加的資源為分區(qū)表時(shí),MaxCompute 僅支持將某個(gè)分區(qū)作為資源,不支持將整張分區(qū)表作為資源;alias:指定資源名,不加該參數(shù)時(shí)默認(rèn)
38、文件名為資源名。Jar及Py類型資源不支持此功能;commentcmt:給資源添加注釋;-f:當(dāng)存在同名的資源時(shí),此操作會(huì)覆蓋原有資源;若不指定此選項(xiàng),存在同名資源時(shí),操作將失敗。odpsodpsodps_public_devaddtablesale_detailpartition(ds=20150602)assale.rescommentsaledetailon 20150602-f;OK: Resource sale.res have been updated.添加一個(gè)別名為sale.res的表資源到MaxCompute注解:目前,每個(gè)資源文件的大小不能超過(guò)64M,單個(gè)SQL, MapRe
39、duce任務(wù)所引用的資源總大小不能超過(guò)512M。刪除資源DROP RESOURCE ;命令格式:DROP RESOURCE ;說(shuō)明:resource_name:創(chuàng)建資源時(shí)指定的資源名查看資源列表LIST RESOURCES;odps $project_namelist resources;Resource Name Comment Last Modified Time Type 1234.txt 2014-02-27 07:07:56 fileLIST RESOURCES;odps $project_namelist resources;Resource Name Comment Last M
40、odified Time Type 1234.txt 2014-02-27 07:07:56 filemapred.jar 2014-02-27 07:07:57 jar說(shuō)明:查看當(dāng)前項(xiàng)目空間下所有的資源。示例:下載資源命令格式:GET RESOURCE : ;GET RESOURCE : ;odps $project_nameget resource odps-udf-examples.jar d:; OK說(shuō)明:下載文件類型的資源到本地。 資源類型必須為:file,jar,archive,py, 不支持table類型。示例:odps $project_nameget resource odp
41、s-udf-examples.jar d:; OK注冊(cè)函數(shù)CREATE FUNCTION AS USING ;語(yǔ)法:CREATE FUNCTION AS USING ;說(shuō)明:function_name:UDF函數(shù)名,這個(gè)名字就是SQL中引用該函數(shù)所使用的名字。package_to_class:如果是java UDF,這個(gè)名字就是從頂層包名一直到實(shí)現(xiàn)UDF類名的fully qualifiedclassname。這個(gè)名字必須用引號(hào)引起來(lái)。UDF代碼所在的資源。如果用戶代碼中通 過(guò)distributed cache接口讀取資源文件,這個(gè)列表中還得包括udf所讀取的資源文件列表。資源列表由多個(gè)資源名組
42、成,資源名之間由逗號(hào)(,)分隔。資源列表必須用引號(hào)引起來(lái)。使用示例:假設(shè)Java UDF類org.alidata.odps.udf.examples.Lower在my_lower.jar中,創(chuàng)建函數(shù)my_lower:CREATE FUNCTION test_lower AS org.alidata.odps.udf.examples.Lower USING my_lower.jar;CREATE FUNCTION test_lower AS org.alidata.odps.udf.examples.Lower USING my_lower.jar;注解與資源文件一樣,同名函數(shù)只能注冊(cè)一次。一
43、般情況下用戶自建函數(shù)無(wú)法覆蓋系統(tǒng)內(nèi)建函數(shù)。只有項(xiàng)目空間的Owner才有權(quán)利覆蓋內(nèi)建函數(shù)。如果用戶使用了覆蓋內(nèi)建函數(shù)的自定義函數(shù),在SQL執(zhí)行結(jié)束后,會(huì)在Summary中打印出warning信息。注銷函數(shù)DROP FUNCTION ;語(yǔ)法:DROP FUNCTION ;DROP FUNCTION test_lower;使用示例:DROP FUNCTION test_lower;查看函數(shù)清單ls functionsls functionspmy_project;-查看指定項(xiàng)目空間my_project下的所有自定義函數(shù)-查看當(dāng)前項(xiàng)目空間中的所有的自定義函數(shù)list functions;功能簡(jiǎn)介用戶可
44、以通過(guò)客戶端提供的Tunnel命令數(shù)據(jù)的長(zhǎng)傳及下載。 - Upload:支持文件或目錄(指一級(jí)目錄)的上傳,每一次上傳只支持?jǐn)?shù)據(jù)上傳到一個(gè)表或表的一個(gè)分區(qū),有分區(qū)的表一定要指定上傳的分區(qū)。tunnel upload log.txt test_project.test_table/p1=b1,p2=b2;tunnel upload log.txt test_project.test_table/p1=b1,p2=b2;- 將log.txt中的數(shù)據(jù)上傳至項(xiàng)目空間test_project的表test_table中的p1=b1,p2=b2分區(qū)tunnel upload log.txt test_tab
45、le -scan=true;log.txttest_table-scan參數(shù)表示需要掃描log.txttest_tabletunnel download test_project.test_table/p1=b1,p2=b2 test_table.txt;tunnel download test_project.test_table/p1=b1,p2=b2 test_table.txt;- 將表中的數(shù)據(jù)下載到 test_table.txt 文件中tunnel resume;tunnel resume;Show:顯示歷史任務(wù)信息。tunnel show history -n 5;tunnel s
46、how history -n 5;-顯示前5次上傳/下載數(shù)據(jù)的詳細(xì)命令tunnel show log;-顯示最后一次上傳/下載數(shù)據(jù)的日志Purge:清理session目錄,默認(rèn)清理3天內(nèi)的。tunnel purge 5;tunnel purge 5;-清理前5天的日志Tunnel命令使用說(shuō)明odps project_nametunnel help;Usage: tunnel options argsodps project_nametunnel help;Usage: tunnel options argsType tunnel help for help on a specific subc
47、ommand.Available subcommands: upload (u)download (d) resume (r) show (s) purge (p) help (h)tunnel is a command for uploading data to / downloading data from ODPS.說(shuō)明:upload:MaxComputedownload:MaxCompute命令進(jìn)行斷點(diǎn)續(xù)傳,目前僅支持上傳數(shù)據(jù)的續(xù)傳。每次上 傳、下載數(shù)據(jù)被稱為一個(gè)session。在resume命令后指定sessionid完成續(xù)傳。show:查看歷史運(yùn)行信息;purge:sessionh
48、elp:tunnelUploadodps project_nametunnel help upload;usage: tunnel upload options upload data from local fileodps project_nametunnel help upload;usage: tunnel upload options upload data from local file-bs,-block-size block size in MiB, default 100-c,-charset specify file charset, default utf8. set ig
49、nore to download raw data-c,-charset specify file charset, default utf8. set ignore to download raw data-cp,-compress compress, default true-dbr,-discard-bad-records specify discard bad records action(true|false), default false-dfp,-date-format-patternspecifydateformatpattern,default yyyy-MM-ddHH:mm
50、:ss-e,-endpoint odps endpoint-fd,-field-delimiter specify field delimiter, default ,-h,-header if local file should have table header, default false-mbr,-max-bad-records max bad records, default 1000-ni,-null-indicator specify null indicator string, default (empty string)-rd,-record-delimiter specif
51、y record delimiter, default rn-s,-scan specify scan file action(true|false|only), default true-sd,-session-dir set session dir, default/D:/console/plugins/dship/lib/.-te,-tunnel-endpoint tunnel endpoint-tz,-time-zone time zone, default local timezone: Asia/ShanghaiExample:tunnel upload log.txt test_
52、project.test_table/p1=b1,p2=b2主要參數(shù)說(shuō)明:-bs,-block-size:每次上傳至Tunnel的數(shù)據(jù)塊大小,默認(rèn)值:100MiB(MiB1024*1024B-c,-charset:指定本地?cái)?shù)據(jù)文件編碼,默認(rèn)為UTF-8;不設(shè)定,默認(rèn)下載源數(shù)據(jù)。-cp,-compress:指定是否在本地壓縮后再上傳,減少網(wǎng)絡(luò)流量,默認(rèn)開(kāi)啟。-dfp:DateTime類型數(shù)據(jù)格式,默認(rèn)為yyyy-MM-ddHH:mm:ss;true時(shí),將全部不符合表定義 的數(shù)據(jù)忽略。值為false,若遇到臟數(shù)據(jù),則給出錯(cuò)誤提示信息,目標(biāo)表內(nèi)的原始數(shù)據(jù)不會(huì)被污染。-eodps的endpoint.-
53、fd:本地?cái)?shù)據(jù)文件的列分割符,默認(rèn)為逗號(hào),;-htrue,則dship會(huì)跳過(guò)表頭從第二行開(kāi)始上傳數(shù)據(jù)。默認(rèn)情況下,當(dāng)上傳的臟數(shù)據(jù)超過(guò)1000條時(shí),上傳動(dòng)作終止。通過(guò)此參 數(shù),可以調(diào)整可容忍的臟數(shù)據(jù)量;-ni:NULL數(shù)據(jù)標(biāo)志符,默認(rèn)為 (空字符串);-s:是否掃描本地?cái)?shù)據(jù)文件,默認(rèn)值為false。值為true時(shí),先掃描數(shù)據(jù),若數(shù)據(jù)格式正確,再導(dǎo)入 數(shù)據(jù)。值為false,不掃描數(shù)據(jù),直接進(jìn)行數(shù)據(jù)導(dǎo)入。值為only時(shí),僅進(jìn)行掃描本地?cái)?shù)據(jù),掃描結(jié)束 后不繼續(xù)導(dǎo)入數(shù)據(jù)。-te:指定tunnel的Endpoint.-tz:指定時(shí)區(qū)。默認(rèn)為本地時(shí)區(qū):Asia/Shanghai。程序示例:創(chuàng)建目標(biāo)表:CRE
54、ATE TABLE IF NOT EXISTS sale_detail( shop_name STRING,CREATE TABLE IF NOT EXISTS sale_detail( shop_name STRING,customer_id STRING, total_price DOUBLE)PARTITIONED BY (sale_date STRING,region STRING);添加分區(qū):alter table sale_detail add partition (sale_date=201312, region=hangzhou);alter table sale_detail
55、 add partition (sale_date=201312, region=hangzhou);準(zhǔn)備數(shù)據(jù)文件data.txt,其內(nèi)容為:shop9,97,100 shop9,97,100 shop10,10,200 shop11,11這份文件的第三行數(shù)據(jù)與sale_detail的表定義不符。sale_detail定義了三列,但數(shù)據(jù)只有兩列。導(dǎo)入數(shù)據(jù):odpsodpsproject_nametunnelud:data.txtsale_detail/sale_date=201312,region=hangzhou-sfalse Upload session:20150610163922488
56、0870a002ec60cStart upload:d:data.txtTotal bytes:41 Split input to 1 blocks 2015-06-10 16:39:22 upload block: 1ERROR: column mismatch -,expected 3 columns, 2 columns found, please check data or delimiter由于data.txt中有臟數(shù)據(jù),數(shù)據(jù)導(dǎo)入失敗。并給出session id及錯(cuò)誤提示信息。數(shù)據(jù)驗(yàn)證:odpsodpsodpstest_ay52c_ay52select*fromsale_detail
57、wheresale_date=201312; ID =20150610084135370gyvc61z5+| shop_name | customer_id | total_price | sale_date | region |+Showusage: tunnel show history options show session information顯示歷史記錄。子命令使用提示:usage: tunnel show history options show session information-c,-charset specify file charset, default utf8.
58、 set ignore to download raw data-c,-charset specify file charset, default utf8. set ignore to download raw data-cp,-compress compress, default true-dfp,-date-format-patternspecifydateformatpattern,default yyyy-MM-ddHH:mm:ss-e,-endpoint odps endpoint-fd,-field-delimiter specify field delimiter, defau
59、lt ,-h,-header if local file should have table header, default false-n,-number lines-ni,-null-indicator specify null indicator string, default (empty string)-rd,-record-delimiter specify record delimiter, default rn-sd,-session-dir set session dir, default/D:/console/plugins/dship/lib/.(plugins/dshi
60、p/lib所在具體路徑)-te,-tunnel-endpoint tunnel endpoint-tz,-time-zone time zone, default local timezone: Asia/ShanghaiExample:tunnel show history -n 5 tunnel show logodps project_nametunnel show history;201506101639224880870a002ec60c failed u -config-file /D:/console/conf/odps_config.ini -project odpstest_
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 統(tǒng)編版三年級(jí)語(yǔ)文下冊(cè)期末達(dá)標(biāo)測(cè)試卷(全真演練二)(含答案)
- 2019-2025年消防設(shè)施操作員之消防設(shè)備基礎(chǔ)知識(shí)模擬考試試卷B卷含答案
- 2019-2025年軍隊(duì)文職人員招聘之軍隊(duì)文職管理學(xué)全真模擬考試試卷A卷含答案
- 2019-2025年消防設(shè)施操作員之消防設(shè)備基礎(chǔ)知識(shí)提升訓(xùn)練試卷A卷附答案
- 2025年消防設(shè)施操作員之消防設(shè)備高級(jí)技能押題練習(xí)試卷A卷附答案
- 管理學(xué)原理b試題及答案
- 遺產(chǎn)繼承房產(chǎn)分割合同
- 高等教育自學(xué)考試《00065國(guó)民經(jīng)濟(jì)統(tǒng)計(jì)概論》模擬試卷二
- 2024年新疆公務(wù)員《行政職業(yè)能力測(cè)驗(yàn)》試題真題及答案
- 裝貨柜安全知識(shí)培訓(xùn)課件
- 北京服裝學(xué)院招聘考試題庫(kù)2024
- 2024年江蘇省南京市中考數(shù)學(xué)試卷真題(含答案解析)
- 物資裝卸培訓(xùn)課件
- DB5101-T 71-2020 成都市電動(dòng)汽車充電設(shè)施 安全管理規(guī)范
- 2025年北京電子科技職業(yè)學(xué)院高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 2025年烏蘭察布醫(yī)學(xué)高等專科學(xué)校高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 2024年二級(jí)建造師之二建機(jī)電工程實(shí)務(wù)考試題庫(kù)含完整答案
- 高教版2023年中職教科書(shū)《語(yǔ)文》(基礎(chǔ)模塊)下冊(cè)教案全冊(cè)
- 《社群運(yùn)營(yíng)》全套教學(xué)課件
- 2024入團(tuán)知識(shí)題庫(kù)(含答案)
- 第五單元群文閱讀(共28張PPT) 部編版語(yǔ)文八年級(jí)下冊(cè)
評(píng)論
0/150
提交評(píng)論