![萝莉 操 对接MaxCompute常见问题和惩办要领](/uploads/allimg/240829/291916230109118.jpg)
基于Job Execution模子,将功课挪动为Stage,每个Stage按需央求诡计资源,实施经过中通过File抓久化。基于MPP模子,良好化内存资源束缚,实施引擎常驻内存,用户态细粒度SQL算子赈济,诡计不落盘。外部表不存储数据,数据存储在MaxCompute中,且外部表莫得索引,全靠CPU资源进行诡计,因此外部表比拟适用于极少据量,低QPS(Queries-per-second)的查询。里面表的数据存储在Hologres中,当罕有据更新、复杂查询、高QPS的查询时,提见地入里面表,能充分推崇Hologres底层的性能上风。下落原因:Hologres加快查询MaxCompute外部表默许走HQE直读链路,当MaxCompute外部表结构发生变更后,会回退到SQE链路,考查链路更长,导致查询性能下落。惩办要领:通过hologres.hg_query_log来查询慢Query。如果engine_type为SQE,不错证据MaxCompute Schema Evolution链路切换为SQE导致性能下落。不错尝试再行构建需要进行表结构变更的MaxCompute外部表来惩办该问题。报错原因:面前MaxCompute的表类型不是Cfile类型的表,Hologres暂不提拔该类型的表。报错原因:MaxCompute的表是Stream表,数据是通过Tunnel等流式写入,面前Hologres直读MaxCompute外部表时暂不提拔查询该景况的表。请将数据导入Hologres里面表,则莫得分区闭幕,细目请参见使用SQL导入MaxCompute的数据至Hologres。使用如下敕令调整每次Query掷中的分区数萝莉 操,默许为512萝莉 操,最大为1024萝莉 操,不提倡调整太大,不然会影响查询性能。如果MaxCompute配置了多级分区,会按照最细粒度分区单元进行分区命入彀数。Hologres中默许最大的底层数据扫描量为200GB,此数据量是掷中MaxCompute分区之后的扫描数据量,和MaxCompute自己存储数据量无关,查询超出此闭幕导致报错。增多过滤要求,掷中更少的分区,使一次Query的扫描数据量在200GB以内。请将MaxCompute表数据导入至Hologres中,再进行查询,细目请参见使用SQL导入MaxCompute的数据至Hologres。(不保举)使用set hg_experimental_foreign_table_max_scan_size = xxx;敕令树立参数调大数据量闭幕(其中xxx不错替换为业务的数据量,如400,单元为GB)。然而过分调大外部表数据量闭幕,可能无法得到预期的性能,也可能形成实例OOM(Out Of Memory),影响泛泛使用。报错原因:MaxCompute表数据写入时使用Streaming Tunnel的花样写入,写入敕令为tunnel.createStreamUploadSession。Hologres读取数据时需要开启两个GUC。如果实例版块低于V1.3版块,提倡在MaxCompute侧住手streaming写入,然后通过以下语句对数据进行Merge:请过几分钟重试,淌若重试好几次齐未告捷,请有关时期提拔处理。MaxCompute小文献过多,导致请求的META卓绝良友经过调用公约(RPC,Remote Procedure Call Protocol)1GB的最大闭幕。HologresV0.10.21及以上版块已优化,请升级Hologres实例,细目请参见实例升级。请有关MaxCompute时期提拔从起源惩办,如果数据量不大可顺利将数据写入Hologres。请实施 ALTER DATABASE <dbname> SET hg_experimental_enable_access_odps_orc_via_holo = false;敕令将外部表的实施引擎修改为SQE,使用SQE考查MaxCompute加密数据,该配置是数据库级别配置,需要再行创建猜度才智凯旋;您也可实施Session级别树立:SET hg_experimental_enable_access_odps_orc_via_holo = false;。请升级Hologres实例版块至V1.3及以上版块,通过加入及时数仓Hologres相通群央求升级实例或自助升级,加群花样请参见如何获得更多的在线提拔?。更新了MaxCompute外部表Schema之后(举例增多列、删除列操作),请实施IMPORT FOREIGN SCHEMA来作念刷新。如果实施了IMPORT FOREIGN SCHEMA还报错的话,请再行建一次MaxCompute的表,再建外部表,因为MaxCompute修改Schema之后参加到schema evolution景况,Hologres无法读取这种景况的表。MaxCompute的表为ORC相貌,表的DECIMAL类型存储花样改造(一般是MaxCompute新加了DECIMAL字段偶然MaxCompute作念了灰度配置变更),导致Hologres读MaxCompute的DECIMAL类型出错。请优化SQL,使SQL愈加充分合理地使用资源,细目请参见优化MaxCompute外部表的查询性能。使用如下敕令裁减并发度,保举调整为面前配置的一半。并发数:外部表单个实施节点读取外部表数据的并发度,默许值为256,取值畛域为0-1024。修改后的风险: 并发度太大可能形成实例OOM,导致导入、查询失败,以至实例重启,以至于劳动弗成用。并发度太小会导致外在查询、外在导入内表性能较差。请导入数据至Hologres里面表,里面表不错树立索引,使查询性能更好,细目请参见使用SQL导入MaxCompute的数据至Hologres。数据量太大偶然导入逻辑太复杂,导致超出了内存闭幕。(实例由多个节点构成,一个节点法度的内存上限是64GB,节点内存会分为三部分,三分之一用于诡计,三分之一用于缓存,三分之一用于元数据。这里的报错是诡计内存超出了闭幕。)不错实施explain analyze sql;敕令检验实施筹算中具体的数据行数。当导入Query包含查询,但部分表莫得analyze,偶然analyze过,但数据又有更新导致不准确,导致查询优化器有筹画猜度次序有误,会引起内存支拨过高。对总计参与的内表、外在实施analyze tablename;敕令,更新表的统计元信息,不错匡助查询优化器生成更优的实施筹算。当表的列数较多,单行数据量较大时,单次读取的数据量会更大,通过在SQL前加以下参数来限度单次读取数据的行数,不错灵验减少OOM情况。裁减导入并发度,也会灵验减少导入经过中的内存支拨,并发度通过参数hg_foreign_table_executor_max_dop限度,默许为实例的Core数,不错在导入时树立更小的参数,裁减导入的内存使用。如果以上操作齐作念收场,如故导入不了,如果使用的是insert on conflict敕令,请排查是否外在重迭数据太多,重迭数据太多也会导致导入性能不好,不错在MaxCompute作念重迭数据去重,再进行导入,细目请参见多行数据合并为一转数据。Hologres从V1.1.24版块驱动,会对内存进步履态调整,后台会及时刷新面前内存水位,淌若有平静,则会分拨更多内存给诡计使用,请升级Hologres至最新版块,具体操作请参见实例升级。如果以上操作齐作念收场,导入数据如故不告捷,请对Hologres扩容,细目请参见升配。在MaxCompute表中有TIMESTAMP类型,使用Tunnel写入后TIMESTAMP精度会变成纳秒,当今Hologres暂不提拔精度为纳秒的TIMESTAMP。请有关MaxCompute束缚员在MaxCompute中授予面前账号查询表(Select)的权限,具体操作请参见MaxCompute权限。查对有权限的账号和报错的账号是否为统一个账号,若如实莫得权限,不错去央求MaxCompute的权限,偶然只过滤有权限的字段查询。获得MaxCompute表沿路字段的权限,具体操作请参见授权。淌若有权限,况兼也只查询了有权限的字段,在实例比拟老的版块可能存在劣势,您不错在实施的Query前增多如下敕令惩办报错问题。未正确对Hologres的AliyunHologresEncryptionDefaultRole进行授权,偶然因为缓存的原因,授权未卓绝3小时也可能偶发出现此报错。当您在Hologres束缚限度台创建外部表之后,查询外部表时报错辅导“You have NO privilege 'odps:Select' on xxx”。需要MaxCompute束缚员在MaxCompute中授予面前账号查询表(Select)的权限,具体操作请参见MaxCompute权限。当您在Hologres束缚限度台创建外部表之后,查询外部表时报错辅导“The sensitive label of column 'xxx' is 2, but your effective label is 0”。(保举)提倡您搜索加入及时数仓Hologres相通群央求将面前实例版块升级至V0.8,细目请参见如何获得更多的在线提拔?。面前账号仍是具备MaxCompute表查询权限,然而跨project考查MaxCompute表报错”You have NO privilege 'odps:Select' on xxx“。淌若面前账号仍是具备MaxCompute仍是有表的查询权限,跨project考查MaxCompute表如故报错,则MaxCompute面前可能遴选的是package授权,您需要添加SQL语句惩办该问题。面前如果MaxCompute是project授权花样,在Hologres中,您不错在SQL前添加如下参数惩办。需要MaxCompute束缚员在MaxCompute中授予面前账号检验总计表(List)的权限,具体操作请参见MaxCompute权限。使用SQL语句创建外部表查询数据,具体操作请参见通过创建外部表加快查询MaxCompute数据。当MaxCompute式样开启白名单功能时,仅允许白名单内的成立考查式样空间;非白名单内的成立考查式样空间时,即使领有正确的AccessKey ID及AccessKey Secret,也无法通过鉴权。因此需要将报错信息中的IP树立为白名单才不错创建外在,具体操作请参见束缚IP白名单。请先证据需要考查的MaxCompute Project称呼,如果Project称呼诞妄请先换成正确的Project名。如果Project称呼正确仍然报雷同的诞妄,需要前去MaxCompute中给报错的账号授权,细目请参见权限玄虚。温煦阿里云公众号或下载阿里云APP,温煦云资讯,遍地随时运维管控云劳动
少妇白洁全集