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

內(nèi)建函數(shù)概述

MaxCompute自身預(yù)置了諸多函數(shù),可以滿足大部分業(yè)務(wù)場景的數(shù)據(jù)處理需求。本文為您介紹MaxCompute提供的函數(shù)類型及函數(shù)使用相關(guān)說明。

背景信息

MaxCompute預(yù)置的函數(shù)類型如下。

函數(shù)類型

說明

日期與時間函數(shù)

支持處理DATE、DATETIME、TIMESTAMP等日期類型數(shù)據(jù),實現(xiàn)加減日期、計算日期差值、提取日期字段、獲取當(dāng)前時間、轉(zhuǎn)換日期格式等業(yè)務(wù)處理能力。

數(shù)學(xué)函數(shù)

支持處理BIGINT、DOUBLE、DECIMAL、FLOAT等數(shù)值類型數(shù)據(jù),實現(xiàn)轉(zhuǎn)換進(jìn)制、數(shù)學(xué)運算、四舍五入、獲取隨機數(shù)等業(yè)務(wù)處理能力。

窗口函數(shù)

支持在指定的開窗列中,實現(xiàn)求和、求最大最小值、求平均值、求中間值、數(shù)值排序、數(shù)值偏移、抽樣等業(yè)務(wù)處理能力。

聚合函數(shù)

支持將多條輸入記錄聚合成一條輸出值,實現(xiàn)求和、求平均值、求最大最小值、求平均值、參數(shù)聚合、字符串連接等業(yè)務(wù)處理能力。

字符串函數(shù)

支持處理STRING類型字符串,實現(xiàn)截取字符串、替換字符串、查找字符串、轉(zhuǎn)換大小寫、轉(zhuǎn)換字符串格式等業(yè)務(wù)處理能力。

復(fù)雜類型函數(shù)

支持處理MAP、ARRAY、STRUCT及JSON類型數(shù)據(jù),實現(xiàn)去重元素、聚合元素、元素排序、合并元素等業(yè)務(wù)處理能力。其中JSON函數(shù)的使用限制請參見JSON函數(shù)的使用限制

加密函數(shù)

支持處理STRING、BINARY類型的表數(shù)據(jù),實現(xiàn)加密、解密等業(yè)務(wù)處理能力。

其他函數(shù)

除上述函數(shù)之外,提供支持其他業(yè)務(wù)場景的函數(shù)。

各類型函數(shù)與開源函數(shù)的對照關(guān)系,請參見與Hive、MySQL、Oracle內(nèi)建函數(shù)對照表

注意事項

在使用內(nèi)建函數(shù)時,需要注意:

  • 內(nèi)建函數(shù)的入?yún)㈩愋汀⑷雲(yún)?shù)量、函數(shù)格式必須滿足函數(shù)語法要求,否則MaxCompute無法成功解析函數(shù),SQL運行會報錯。

  • 如果內(nèi)建函數(shù)的入?yún)⑸婕?.0新數(shù)據(jù)類型(例如TINYINT、SMALLINT、INT、FLOAT、VARCHAR、TIMESTAMP或BINARY),您需要打開2.0新數(shù)據(jù)類型開關(guān),否則運行會報錯。開關(guān)打開方式如下:

    • Session級別:您需要在SQL語句前加上set odps.sql.type.system.odps2=true;,與SQL語句一起提交執(zhí)行。該配置僅對本次運行的SQL有效。

    • Project級別:Project Owner可根據(jù)需要對MaxCompute項目進(jìn)行設(shè)置,等待10~15分鐘后才會生效。該配置對后續(xù)運行的所有SQL有效。

      setproject odps.sql.type.system.odps2=true;
  • 當(dāng)MaxCompute項目打開2.0新數(shù)據(jù)類型開關(guān)時,部分隱式類型轉(zhuǎn)換會被禁用,包括STRING轉(zhuǎn)換為BIGINT、STRING轉(zhuǎn)換為DATETIME、DOUBLE轉(zhuǎn)換為BIGINT、DECIMAL轉(zhuǎn)換為DOUBLE、DECIMAL轉(zhuǎn)換為BIGINT,都有精度損失或報錯的風(fēng)險。此時,您可以通過CAST函數(shù)執(zhí)行強制轉(zhuǎn)換解決該問題,或關(guān)閉2.0新數(shù)據(jù)類型開關(guān)。

  • 當(dāng)自定義函數(shù)的名稱與內(nèi)建函數(shù)的名稱相同時,自定義函數(shù)會覆蓋同名的內(nèi)建函數(shù)。例如,MaxCompute中存在一個名稱為CONCAT的自定義函數(shù),則系統(tǒng)默認(rèn)會調(diào)用自定義的CONCAT,不會調(diào)用內(nèi)建函數(shù)CONCAT。如果您希望調(diào)用內(nèi)建函數(shù),需要在內(nèi)建函數(shù)前增加::符號,例如select ::concat('ab', 'c');

  • 如果MaxCompute項目的全局屬性設(shè)置不同,內(nèi)建函數(shù)運行的結(jié)果可能會不一致,您可以通過setproject;命令查看項目的全局屬性信息。

JSON函數(shù)的使用限制

  • 目前支持的開發(fā)工具包括odpscmd客戶端和Studio,暫不支持DataWorks,Dataphin等外圍生態(tài),如果需要跟外部系統(tǒng)做組合使用時,請先確認(rèn)后再使用。使用odpscmd客戶端和Studio時需要關(guān)注以下內(nèi)容。

    使用odpscmd客戶端

    使用Studio

    • 需要將客戶端升級到最新版本,否則無法使用desc json_table命令。

    • 需要將客戶端安裝路徑下的conf\odps_config.ini文件中的參數(shù)use_instance_tunnel設(shè)置為false,否則查詢會報錯

    Studio只支持查詢JSON類型的操作,不支持上傳、下載JSON類型數(shù)據(jù)。

  • 如果表存在其他引擎讀取情況,比如Hologres等,目前不支持讀取JSON數(shù)據(jù)類型。

  • 暫不支持對一張表新增JSON列。

  • 暫不支持對JSON類型的比較操作,也不支持對JSON類型進(jìn)行ORDER BYGROUP BY或作為JOIN的key等。

  • 目前JSON NUMBER的整數(shù)和小數(shù)分別使用BIGINT和DOUBLE類型進(jìn)行存儲。當(dāng)整數(shù)部分超出BIGINT范圍時會溢出,小數(shù)轉(zhuǎn)為DOUBLE時會損失精度。

  • 生成JSON類型數(shù)據(jù)所用的字符串里不支持UNICODE\u0000

  • Java UDF和Python UDF暫不支持JSON類型。

  • 目前JSON類型不支持Cluster表。

字符串函數(shù)的使用限制

以下函數(shù)只支持英文字符的轉(zhuǎn)換:

  • TRIM/RTRIM/LTRIM:trimChars只支持英文字符。

  • REVERSE:在Hive模式下只支持英文字符。

  • SOUNDEX:僅轉(zhuǎn)換英文字符。

  • TOLOWER:將字符串中的英文字符轉(zhuǎn)換為小寫形式。

  • TOUPPER:將字符串中的英文字符轉(zhuǎn)換為大寫形式。

  • INITCAP:將字符串中每個單詞首字母(英文字符)轉(zhuǎn)化為大寫形式,其余為小寫。