日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

對(duì)接MaxCompute常見(jiàn)問(wèn)題與診斷

更新時(shí)間:

本文為您介紹使用Hologres對(duì)接MaxCompute時(shí)的常見(jiàn)報(bào)錯(cuò)及解決方法。

基本概念

  • Hologres與MaxCompute的對(duì)比。

    對(duì)比項(xiàng)

    MaxCompute

    Hologres

    使用場(chǎng)景

    ETL(Extract-Transform-Load)加工,面向數(shù)據(jù)明細(xì)層(DWD,Data Warehouse Detail)和數(shù)據(jù)服務(wù)層(DWS,Data WareHouse Service)。

    交互式查詢、在線數(shù)據(jù)服務(wù),面向應(yīng)用的數(shù)據(jù)服務(wù)(ADS)。

    用戶使用

    異步的執(zhí)行作業(yè)。

    同步的Query。

    集群資源

    共享大集群,SaaS模式。

    獨(dú)享集群,PaaS模式。

    計(jì)算引擎

    基于Job Execution模型,將作業(yè)轉(zhuǎn)化為Stage,每個(gè)Stage按需申請(qǐng)計(jì)算資源,執(zhí)行過(guò)程中通過(guò)File持久化。

    基于MPP模型,精細(xì)化內(nèi)存資源管理,執(zhí)行引擎常駐內(nèi)存,用戶態(tài)細(xì)粒度SQL算子調(diào)度,計(jì)算不落盤(pán)。

    調(diào)度方式

    進(jìn)程級(jí)別,運(yùn)行時(shí)按需申請(qǐng)、分配。

    輕量級(jí)線程,資源啟動(dòng)時(shí)預(yù)留。

    擴(kuò)展性

    幾乎不受限制。

    復(fù)雜查詢盡量避免跨多節(jié)點(diǎn)數(shù)據(jù)Shuffle。

    存儲(chǔ)格式

    列式。

    行式、列式、行列共存。

    存儲(chǔ)成本

    基于Pangu,成本低。

    基于Pangu,利用SSD做緩存加速,成本相對(duì)高。

    接口標(biāo)準(zhǔn)

    MaxCompute SQL,類(lèi)Hive。

    PostgreSQL。

  • Hologres外部表和內(nèi)部表的適用場(chǎng)景

    • 新建外部表直接加速查詢

      外部表不存儲(chǔ)數(shù)據(jù),數(shù)據(jù)存儲(chǔ)在MaxCompute中,且外部表沒(méi)有索引,全靠CPU資源進(jìn)行計(jì)算,因此外部表比較適用于小數(shù)據(jù)量,低QPS(Queries-per-second)的查詢。

    • 導(dǎo)入數(shù)據(jù)至Hologres內(nèi)部表進(jìn)行加速查詢

      內(nèi)部表的數(shù)據(jù)存儲(chǔ)在Hologres中,當(dāng)有數(shù)據(jù)更新、復(fù)雜查詢、高QPS的查詢時(shí),建議導(dǎo)入內(nèi)部表,能充分發(fā)揮Hologres底層的性能優(yōu)勢(shì)。

性能調(diào)優(yōu)

性能退化:MaxCompute外部表發(fā)生Schema Evolution之后,查詢性能大幅下降

  • 下降原因:Hologres加速查詢MaxCompute外部表默認(rèn)走HQE直讀鏈路,當(dāng)MaxCompute外部表結(jié)構(gòu)發(fā)生變更后,會(huì)回退到SQE鏈路,訪問(wèn)鏈路更長(zhǎng),導(dǎo)致查詢性能下降。

  • 解決方法:通過(guò)hologres.hg_query_log來(lái)查詢慢Query。如果engine_type為SQE,可以確認(rèn)MaxCompute Schema Evolution鏈路切換為SQE導(dǎo)致性能下降。可以嘗試重新構(gòu)建需要進(jìn)行表結(jié)構(gòu)變更的MaxCompute外部表來(lái)解決該問(wèn)題。

常見(jiàn)報(bào)錯(cuò)

報(bào)錯(cuò):SERVER_INTERNAL_ERROR message: GetRecordBatch() is not implemented.

查詢MaxCompute外表時(shí)報(bào)錯(cuò):query next from foreign table executor failed, GetRecordBatch() is not implemented

  • 報(bào)錯(cuò)原因:當(dāng)前MaxCompute的表類(lèi)型不是Cfile類(lèi)型的表,Hologres暫不支持該類(lèi)型的表。

  • 解決方法:在查詢數(shù)據(jù)SQL前添加如下GUC。

    set hg_experimental_enable_access_odps_with_table_api =on;

報(bào)錯(cuò):ERROR: not an ORC file

查詢外部表時(shí)報(bào)錯(cuò):ERROR: status { code: SERVER_INTERNAL_ERROR message: "hos_exception: Invalid argument: ../../../src/OrcFileMetaHelper.cc(234)-<operator()>: not an ORC file

  • 報(bào)錯(cuò)原因:MaxCompute的表是Stream表,數(shù)據(jù)是通過(guò)Tunnel等流式寫(xiě)入,當(dāng)前Hologres直讀MaxCompute外部表時(shí)暫不支持查詢?cè)摖顟B(tài)的表。

  • 解決方法:在查詢數(shù)據(jù)SQL前添加如下GUC。

    set hg_experimental_enable_access_odps_with_table_api=on;
    set hg_experimental_enable_access_odps_orc_via_holo =off;

報(bào)錯(cuò):specified partitions count in MaxCompute table: exceeds the limitation of 512, please add stricter partition filter or set axf_MaxCompute_partition_limit.或者Build desc failed: Exceeds the partition limitation of 512, current match xxx partitions.

  • 報(bào)錯(cuò)原因:

    當(dāng)前Hologres支持查詢最多分區(qū)數(shù)為512個(gè),查詢超過(guò)此限制。

  • 解決方法:

    • 請(qǐng)?zhí)砑臃謪^(qū)過(guò)濾條件,使一次查詢不超過(guò)512個(gè)分區(qū)。

    • 請(qǐng)將數(shù)據(jù)導(dǎo)入Hologres內(nèi)部表,則沒(méi)有分區(qū)限制,詳情請(qǐng)參見(jiàn)使用SQL導(dǎo)入MaxCompute的數(shù)據(jù)至Hologres

    • 使用如下命令調(diào)整每次Query命中的分區(qū)數(shù),默認(rèn)為512,最大為1024,不建議調(diào)整太大,否則會(huì)影響查詢性能。

      -- V1.1及以上版本
      set hg_foreign_table_max_partition_limit = 128;
      -- V0.10版本
      set hg_experimental_foreign_table_max_partition_limit = xxx ;
      說(shuō)明

      如果MaxCompute配置了多級(jí)分區(qū),會(huì)按照最細(xì)粒度分區(qū)單位進(jìn)行分區(qū)命中計(jì)數(shù)。

報(bào)錯(cuò):Build desc failed: Exceeds the scan limitation of 200 GB, current scan xxx GB.

  • 報(bào)錯(cuò)原因:

    Hologres中默認(rèn)最大的底層數(shù)據(jù)掃描量為200GB,此數(shù)據(jù)量是命中MaxCompute分區(qū)之后的掃描數(shù)據(jù)量,和MaxCompute自身存儲(chǔ)數(shù)據(jù)量無(wú)關(guān),查詢超出此限制導(dǎo)致報(bào)錯(cuò)。

  • 解決方法:

    • 增加過(guò)濾條件,命中更少的分區(qū),使一次Query的掃描數(shù)據(jù)量在200GB以內(nèi)。

    • 請(qǐng)將MaxCompute表數(shù)據(jù)導(dǎo)入至Hologres中,再進(jìn)行查詢,詳情請(qǐng)參見(jiàn)使用SQL導(dǎo)入MaxCompute的數(shù)據(jù)至Hologres

    • (不推薦)使用set hg_experimental_foreign_table_max_scan_size = xxx;命令設(shè)置參數(shù)調(diào)大數(shù)據(jù)量限制(其中xxx可以替換為業(yè)務(wù)的數(shù)據(jù)量,如400,單位為GB)。但是過(guò)分調(diào)大外部表數(shù)據(jù)量限制,可能無(wú)法得到預(yù)期的性能,也可能造成實(shí)例OOM(Out Of Memory),影響正常使用。

報(bào)錯(cuò):query next from foreign table executor failed, Not implemented.

  • 報(bào)錯(cuò)原因:MaxCompute表數(shù)據(jù)寫(xiě)入時(shí)使用Streaming Tunnel的方式寫(xiě)入,寫(xiě)入命令為tunnel.createStreamUploadSession。Hologres讀取數(shù)據(jù)時(shí)需要開(kāi)啟兩個(gè)GUC。

  • 解決方法:

    • 添加如下兩個(gè)配置項(xiàng)。

      說(shuō)明

      僅Hologres V1.3及以上版本支持該GUC。

      set hg_experimental_enable_access_odps_with_table_api=on;
      set hg_experimental_enable_access_odps_orc_via_holo =off;
    • 如果實(shí)例版本低于V1.3版本,建議在MaxCompute側(cè)停止streaming寫(xiě)入,然后通過(guò)以下語(yǔ)句對(duì)數(shù)據(jù)進(jìn)行Merge:

      set odps.merge.task.mode=sql;
      set odps.merge.lock.expire.time=0;
      ALTER TABLE tablename [PARTITION] MERGE SMALLFILES;

報(bào)錯(cuò):Build desc failed: failed to check permission: Currently not supported table type "view".

報(bào)錯(cuò)原因:目前暫時(shí)不支持MaxCompute的View。

報(bào)錯(cuò):Build desc failed: failed to get foreign table split:MaxCompute-0010000: System internal error - get input pangu dir meta fai.

  • 報(bào)錯(cuò)原因:

    Hologres讀取MaxCompute的配置未及時(shí)更新。

  • 解決方法:

    請(qǐng)過(guò)幾分鐘重試,若是重試好幾次都未成功,請(qǐng)聯(lián)系技術(shù)支持處理。

報(bào)錯(cuò):ERROR: Query:[xxx] Build desc failed: failed to get foreign table split:ERPC_ERROR_CONNECTION_CLOSED.

  • 報(bào)錯(cuò)原因:

    MaxCompute小文件過(guò)多,導(dǎo)致請(qǐng)求的META超過(guò)遠(yuǎn)程過(guò)程調(diào)用協(xié)議(RPC,Remote Procedure Call Protocol)1GB的最大限制。

  • 解決方法:

    • 請(qǐng)執(zhí)行以下命令進(jìn)行小文件合并。

      set MaxCompute.merge.task.mode=sql;
      set MaxCompute.merge.lock.expire.time=0;
      ALTER TABLE <tablename> [PARTITION] MERGE SMALLFILES;
    • HologresV0.10.21及以上版本已優(yōu)化,請(qǐng)升級(jí)Hologres實(shí)例,詳情請(qǐng)參見(jiàn)實(shí)例升級(jí)

    • 請(qǐng)聯(lián)系MaxCompute技術(shù)支持從源頭解決,如果數(shù)據(jù)量不大可直接將數(shù)據(jù)寫(xiě)入Hologres。

報(bào)錯(cuò):ERROR: status { code: SERVER_INTERNAL_ERROR message: "hos_exception: IO error: Failed to execute pangu open normal file, err: PanguParameterInvalidException" }.

  • 報(bào)錯(cuò)原因:

    Hologres HQE不支持直讀MaxCompute Pangu加密數(shù)據(jù)。

  • 解決方法:

    請(qǐng)執(zhí)行 ALTER DATABASE <dbname> SET hg_experimental_enable_access_odps_orc_via_holo = false;命令將外部表的執(zhí)行引擎修改為SQE,使用SQE訪問(wèn)MaxCompute加密數(shù)據(jù),該配置是數(shù)據(jù)庫(kù)級(jí)別配置,需要重新創(chuàng)建連接才能生效;您也可執(zhí)行Session級(jí)別設(shè)置:SET hg_experimental_enable_access_odps_orc_via_holo = false;

報(bào)錯(cuò):failed to import foreign schema:Failed to get MaxCompute table:Not enable schema evolution.

  • 報(bào)錯(cuò)原因:

    對(duì)MaxCompute表的元數(shù)據(jù)做了修改。

  • 解決方法:

    • 請(qǐng)升級(jí)Hologres實(shí)例版本至V1.3及以上版本,通過(guò)加入實(shí)時(shí)數(shù)倉(cāng)Hologres交流群申請(qǐng)升級(jí)實(shí)例或自助升級(jí),加群方式請(qǐng)參見(jiàn)如何獲取更多的在線支持?

    • 更新了MaxCompute外部表Schema之后(例如增加列、刪除列操作),請(qǐng)執(zhí)行IMPORT FOREIGN SCHEMA來(lái)做刷新。

    • 如果執(zhí)行了IMPORT FOREIGN SCHEMA還報(bào)錯(cuò)的話,請(qǐng)重新建一次MaxCompute的表,再建外部表,因?yàn)镸axCompute修改Schema之后進(jìn)入到schema evolution狀態(tài),Hologres無(wú)法讀取這種狀態(tài)的表。

報(bào)錯(cuò):Open ORC file failed for schema mismatch. Reader schema:

  • 報(bào)錯(cuò)原因:

    MaxCompute的表為ORC格式,表的DECIMAL類(lèi)型存儲(chǔ)方式改變(一般是MaxCompute新加了DECIMAL字段或者M(jìn)axCompute做了灰度配置變更),導(dǎo)致Hologres讀MaxCompute的DECIMAL類(lèi)型出錯(cuò)。

  • 解決方法:

    • 請(qǐng)執(zhí)行set MaxCompute.storage.orc.enable.binary.decimal=false命令,重新導(dǎo)下MaxCompute數(shù)據(jù)。

    • 請(qǐng)將MaxCompute的表的DECIMAL類(lèi)型改為DOUBLE類(lèi)型,再重新刷新一遍數(shù)據(jù)。

報(bào)錯(cuò):failed to import foreign schema:Failed to get MaxCompute table:Not enable acid table.

  • 報(bào)錯(cuò)原因:

    MaxCompute表是事務(wù)(Transactional)表。

  • 解決方法:

    當(dāng)前不支持MaxCompute的Transactional表,建議改為普通表。

報(bào)錯(cuò):Request denied, may caused by server busy.

  • 報(bào)錯(cuò)原因:

    外部表資源占滿,CPU用量嚴(yán)重超出。

  • 解決方法:

    • 請(qǐng)優(yōu)化SQL,使SQL更加充分合理地使用資源,詳情請(qǐng)參見(jiàn)優(yōu)化MaxCompute外部表的查詢性能

    • 降低并發(fā)度。

      1. 使用show hg_foreign_table_executor_max_dop;命令查看當(dāng)前配置。

      2. 使用如下命令降低并發(fā)度,推薦調(diào)整為當(dāng)前配置的一半。

        -- 語(yǔ)法示例
        set hg_foreign_table_executor_max_dop = <并發(fā)數(shù)>; 
        -- 使用示例 
        set hg_foreign_table_executor_max_dop = 18;

        并發(fā)數(shù):外部表單個(gè)執(zhí)行節(jié)點(diǎn)讀取外部表數(shù)據(jù)的并發(fā)度,默認(rèn)值為256,取值范圍為0-1024。修改后的風(fēng)險(xiǎn): 并發(fā)度太大可能造成實(shí)例OOM,導(dǎo)致導(dǎo)入、查詢失敗,甚至實(shí)例重啟,以至于服務(wù)不可用。并發(fā)度太小會(huì)導(dǎo)致外表查詢、外表導(dǎo)入內(nèi)表性能較差。

    • 請(qǐng)導(dǎo)入數(shù)據(jù)至Hologres內(nèi)部表,內(nèi)部表可以設(shè)置索引,使查詢性能更好,詳情請(qǐng)參見(jiàn)使用SQL導(dǎo)入MaxCompute的數(shù)據(jù)至Hologres

導(dǎo)入數(shù)據(jù)報(bào)錯(cuò):Query executor exceeded total memory limitation xxxxx: yyyy bytes used.

  • 報(bào)錯(cuò)原因:

    數(shù)據(jù)量太大或者導(dǎo)入邏輯太復(fù)雜,導(dǎo)致超出了內(nèi)存限制。(實(shí)例由多個(gè)節(jié)點(diǎn)組成,一個(gè)節(jié)點(diǎn)標(biāo)準(zhǔn)的內(nèi)存上限是64GB,節(jié)點(diǎn)內(nèi)存會(huì)分為三部分,三分之一用于計(jì)算,三分之一用于緩存,三分之一用于元數(shù)據(jù)。這里的報(bào)錯(cuò)是計(jì)算內(nèi)存超出了限制。)

  • 解決方法:

    1. 查看執(zhí)行計(jì)劃

      可以執(zhí)行explain analyze sql;命令查看執(zhí)行計(jì)劃中具體的數(shù)據(jù)行數(shù)。當(dāng)導(dǎo)入Query包含查詢,但部分表沒(méi)有analyze,或者analyze過(guò),但數(shù)據(jù)又有更新導(dǎo)致不準(zhǔn)確,導(dǎo)致查詢優(yōu)化器決策連接順序有誤,會(huì)引起內(nèi)存開(kāi)銷(xiāo)過(guò)高。

      對(duì)所有參與的內(nèi)表、外表執(zhí)行analyze tablename;命令,更新表的統(tǒng)計(jì)元信息,可以幫助查詢優(yōu)化器生成更優(yōu)的執(zhí)行計(jì)劃。

    2. 設(shè)置單行導(dǎo)入條數(shù)

      當(dāng)表的列數(shù)較多,單行數(shù)據(jù)量較大時(shí),單次讀取的數(shù)據(jù)量會(huì)更大,通過(guò)在SQL前加以下參數(shù)來(lái)控制單次讀取數(shù)據(jù)的行數(shù),可以有效減少OOM情況。

      set hg_experimental_query_batch_size = 1024;  -- 默認(rèn)值為8192
      insert into holo_table select * from mc_table;
    3. 降低導(dǎo)入的并發(fā)度。

      降低導(dǎo)入并發(fā)度,也會(huì)有效減少導(dǎo)入過(guò)程中的內(nèi)存開(kāi)銷(xiāo),并發(fā)度通過(guò)參數(shù)hg_foreign_table_executor_max_dop控制,默認(rèn)為實(shí)例的Core數(shù),可以在導(dǎo)入時(shí)設(shè)置更小的參數(shù),降低導(dǎo)入的內(nèi)存使用。

      set hg_foreign_table_executor_max_dop = 8;
      insert into holo_table select * from mc_table;
    4. 排查外表重復(fù)數(shù)據(jù)是否過(guò)多。

      如果以上操作都做完了,還是導(dǎo)入不了,如果使用的是insert on conflict命令,請(qǐng)排查是否外表重復(fù)數(shù)據(jù)太多,重復(fù)數(shù)據(jù)太多也會(huì)導(dǎo)致導(dǎo)入性能不好,可以在MaxCompute做重復(fù)數(shù)據(jù)去重,再進(jìn)行導(dǎo)入,詳情請(qǐng)參見(jiàn)多行數(shù)據(jù)合并為一行數(shù)據(jù)

    5. 升級(jí)新版本動(dòng)態(tài)調(diào)整內(nèi)存。

      Hologres從V1.1.24版本開(kāi)始,會(huì)對(duì)內(nèi)存進(jìn)行動(dòng)態(tài)調(diào)整,后臺(tái)會(huì)實(shí)時(shí)刷新當(dāng)前內(nèi)存水位,若是有空閑,則會(huì)分配更多內(nèi)存給計(jì)算使用,請(qǐng)升級(jí)Hologres至最新版本,具體操作請(qǐng)參見(jiàn)實(shí)例升級(jí)

    6. 擴(kuò)容。

      如果以上操作都做完了,導(dǎo)入數(shù)據(jù)還是不成功,請(qǐng)對(duì)Hologres擴(kuò)容,詳情請(qǐng)參見(jiàn)升配

報(bào)錯(cuò):Timestamp overflow detected while converting timestampfrom orc VectorBatch to arrow.

  • 報(bào)錯(cuò)原因:

    在MaxCompute表中有TIMESTAMP類(lèi)型,使用Tunnel寫(xiě)入后TIMESTAMP精度會(huì)變成納秒,目前Hologres暫不支持精度為納秒的TIMESTAMP。

  • 解決方法:

    • 在MaxCompute中將TIMESTAMP類(lèi)型轉(zhuǎn)換為DateTime類(lèi)型。

    • Hologres實(shí)例升級(jí)版本到 V1.1.70及以上版本。

報(bào)錯(cuò):You have NO privilege 'MaxCompute:Select' on xxx.

  • 報(bào)錯(cuò)原因:

    當(dāng)前賬號(hào)不具備MaxCompute表的查詢(Select)權(quán)限。

  • 解決方法:

    請(qǐng)聯(lián)系MaxCompute管理員在MaxCompute中授予當(dāng)前賬號(hào)查詢表(Select)的權(quán)限,具體操作請(qǐng)參見(jiàn)MaxCompute權(quán)限

報(bào)錯(cuò):The sensitive label of column 'xxx' is 2, but your effective label is 0.

  • 報(bào)錯(cuò)原因:

    當(dāng)前賬號(hào)只有MaxCompute表的部分字段權(quán)限。

  • 解決方法:

    • 核對(duì)有權(quán)限的賬號(hào)和報(bào)錯(cuò)的賬號(hào)是否為同一個(gè)賬號(hào),若確實(shí)沒(méi)有權(quán)限,可以去申請(qǐng)MaxCompute的權(quán)限,或者只過(guò)濾有權(quán)限的字段查詢。獲取MaxCompute表全部字段的權(quán)限,具體操作請(qǐng)參見(jiàn)授權(quán)。

    • 若是有權(quán)限,并且也只查詢了有權(quán)限的字段,在實(shí)例比較老的版本可能存在缺陷,您可以在執(zhí)行的Query前增加如下命令解決報(bào)錯(cuò)問(wèn)題。

      set hg_experimental_enable_MaxCompute_executor=on;  
      set hg_experimental_enable_query_master=on;

報(bào)錯(cuò):query next from foreign table executor failed validate userinfao

  • 報(bào)錯(cuò)原因:

    未正確對(duì)Hologres的AliyunHologresEncryptionDefaultRole進(jìn)行授權(quán),或者因?yàn)榫彺娴脑颍跈?quán)未超過(guò)3小時(shí)也可能偶發(fā)出現(xiàn)此報(bào)錯(cuò)。

  • 解決方法:

    對(duì)賬號(hào)授權(quán)AliyunHologresEncryptionDefaultRolePolicy角色,詳情請(qǐng)參見(jiàn)查詢MaxCompute加密數(shù)據(jù)(BYOK模式)

查詢外部表速度慢如何解決?

建議優(yōu)化SQL,詳情請(qǐng)參見(jiàn)優(yōu)化MaxCompute外部表的查詢性能

查詢外部表報(bào)錯(cuò):You have NO privilege 'odps:Select' on xxx

  • 問(wèn)題現(xiàn)象

    當(dāng)您在Hologres管理控制臺(tái)創(chuàng)建外部表之后,查詢外部表時(shí)報(bào)錯(cuò)提示“You have NO privilege 'odps:Select' on xxx”。

  • 問(wèn)題原因

    當(dāng)前賬號(hào)不具備MaxCompute表的查詢(Select)權(quán)限。

  • 解決方法

    需要MaxCompute管理員在MaxCompute中授予當(dāng)前賬號(hào)查詢表(Select)的權(quán)限,具體操作請(qǐng)參見(jiàn)MaxCompute權(quán)限

查詢外部表報(bào)錯(cuò):The sensitive label of column 'xxx' is 2, but your effective label is 0

  • 問(wèn)題現(xiàn)象

    當(dāng)您在Hologres管理控制臺(tái)創(chuàng)建外部表之后,查詢外部表時(shí)報(bào)錯(cuò)提示“The sensitive label of column 'xxx' is 2, but your effective label is 0”。

  • 問(wèn)題原因

    當(dāng)前賬號(hào)只有MaxCompute表的部分字段權(quán)限。

  • 解決方法

    您可以選擇如下三種方法中的一種來(lái)解決該問(wèn)題:

    • (推薦)建議您搜索加入實(shí)時(shí)數(shù)倉(cāng)Hologres交流群申請(qǐng)將當(dāng)前實(shí)例版本升級(jí)至V0.8,詳情請(qǐng)參見(jiàn)如何獲取更多的在線支持?

    • 您可以在執(zhí)行的Query前增加如下參數(shù)解決報(bào)錯(cuò)問(wèn)題。

      set hg_experimental_enable_odps_executor=on; 
      set hg_experimental_enable_query_master=on;
    • 獲取MaxCompute表全部字段的權(quán)限,具體操作請(qǐng)參見(jiàn)MaxCompute權(quán)限

跨project訪問(wèn)MaxCompute表報(bào)錯(cuò):You have NO privilege 'odps:Select' on xxx

  • 問(wèn)題現(xiàn)象

    當(dāng)前賬號(hào)已經(jīng)具備MaxCompute表查詢權(quán)限,但是跨project訪問(wèn)MaxCompute表報(bào)錯(cuò)”You have NO privilege 'odps:Select' on xxx“。

  • 問(wèn)題原因

    若是當(dāng)前賬號(hào)已經(jīng)具備MaxCompute已經(jīng)有表的查詢權(quán)限,跨project訪問(wèn)MaxCompute表還是報(bào)錯(cuò),則MaxCompute當(dāng)前可能采用的是package授權(quán),您需要添加SQL語(yǔ)句解決該問(wèn)題。

  • 解決方法

    當(dāng)前如果MaxCompute是project授權(quán)方式,在Hologres中,您可以在SQL前添加如下參數(shù)解決。

    // V0.7版本的實(shí)例請(qǐng)執(zhí)行以下語(yǔ)句授權(quán)
    set seahawks.seahawks_internal_current_odps_project='holoprojectname';
    //V0.8版本的實(shí)例請(qǐng)執(zhí)行以下語(yǔ)句授權(quán)
    set hg_experimental_odps_current_project_name = 'holoprojectname';

創(chuàng)建外部表報(bào)錯(cuò):You have NO privilege 'odps:List' on xxx

  • 問(wèn)題現(xiàn)象

    當(dāng)您在Hologres管理控制臺(tái)使用HoloWeb或DataStudio可視化創(chuàng)建外部表時(shí)報(bào)錯(cuò)提示“You have NO privilege 'odps:List' on xxx”。

  • 問(wèn)題原因

    當(dāng)前賬號(hào)在MaxCompute中不具備查看所有表(List)的權(quán)限。

  • 解決方法

創(chuàng)建外部表時(shí)報(bào)錯(cuò):Access denied by project ip white list: sourceIP:'xxxx' is not in white list. project: xxxx

  • 問(wèn)題現(xiàn)象

    當(dāng)您在Hologres管理控制臺(tái)使用HoloWeb創(chuàng)建外部表時(shí)報(bào)錯(cuò)提示“Access denied by project ip white list: sourceIP:'xxxx' is not in white list. project: xxxx”。

  • 問(wèn)題原因

    當(dāng)前MaxCompute集群設(shè)置了白名單訪問(wèn),Holoweb不在白名單內(nèi)。

  • 解決方法

    當(dāng)MaxCompute項(xiàng)目開(kāi)啟白名單功能時(shí),僅允許白名單內(nèi)的設(shè)備訪問(wèn)項(xiàng)目空間;非白名單內(nèi)的設(shè)備訪問(wèn)項(xiàng)目空間時(shí),即使擁有正確的AccessKey ID及AccessKey Secret,也無(wú)法通過(guò)鑒權(quán)。因此需要將報(bào)錯(cuò)信息中的IP設(shè)置為白名單才可以創(chuàng)建外表,具體操作請(qǐng)參見(jiàn)管理IP白名單

創(chuàng)建外部表時(shí)報(bào)錯(cuò):You don't exist in project xxx

  • 問(wèn)題現(xiàn)象

    當(dāng)您在創(chuàng)建外部表時(shí)報(bào)錯(cuò)提示“You don't exist in project xxx”。

  • 問(wèn)題原因

    執(zhí)行創(chuàng)建外部表的賬號(hào)不具有訪問(wèn)對(duì)應(yīng)MaxCompute Project的權(quán)限。

  • 解決方法

    請(qǐng)先確認(rèn)需要訪問(wèn)的MaxCompute Project名稱,如果Project名稱錯(cuò)誤請(qǐng)先換成正確的Project名。如果Project名稱正確仍然報(bào)同樣的錯(cuò)誤,需要前往MaxCompute中給報(bào)錯(cuò)的賬號(hào)授權(quán),詳情請(qǐng)參見(jiàn)權(quán)限概述