DataWorks函数

文章目录

    • 0、MaxCompute预置的函数分类
    • 1、日期函数
    • 2、数学函数
    • 3、算术运算符
    • 4、窗口函数
    • 5、聚合函数
    • 6、字符串函数
    • 7、复杂类型函数
    • 8、加密函数
    • 9、其他函数


0、MaxCompute预置的函数分类

函数类型说明
日期函数支持处理DATE、DATETIME、TIMESTAMP等日期类型数据,实现加减日期、计算日期差值、提取日期字段、获取当前时间、转换日期格式等业务处理能力。
数学函数支持处理BIGINT、DOUBLE、DECIMAL、FLOAT等数值类型数据,实现转换进制、数学运算、四舍五入、获取随机数等业务处理能力。
窗口函数支持在指定的开窗列中,实现求和、求最大最小值、求平均值、求中间值、数值排序、数值偏移、抽样等业务处理能力。
聚合函数支持将多条输入记录聚合成一条输出值,实现求和、求平均值、求最大最小值、求平均值、参数聚合、字符串连接等业务处理能力。
字符串函数支持处理STRING类型字符串,实现截取字符串、替换字符串、查找字符串、转换大小写、转换字符串格式等业务处理能力。
复杂类型函数支持处理MAP、ARRAY、STRUCT及JSON类型数据,实现去重元素、聚合元素、元素排序、合并元素等业务处理能力。
加密函数支持处理STRING、BINARY类型的表数据,实现加密、解密等业务处理能力。
其他函数除上述函数之外,提供支持其他业务场景的函数。

1、日期函数

MaxCompute SQL提供了如下日期函数,您可以根据实际需要选择合适的日期函数,完成日期计算、日期转换。

函数小写功能
DATEADDdateadd按照指定的单位和幅度修改日期值。
DATE_ADDdate_add按照指定的幅度增减天数,与date_sub的增减逻辑相反。
DATE_FORMATdate_format将日期值转换为指定格式的字符串。
DATE_SUBdate_sub按照指定的幅度增减天数,与date_add的增减逻辑相反。
DATEDIFFdatediff计算两个日期的差值并按照指定的单位表示。
DATEPARTdatepart提取日期中符合指定时间单位的字段值。
DATETRUNCdatetrunc提取日期按照指定时间单位截取后的值。
FROM_UNIXTIMEfrom_unixtime将数字型的UNIX值转换为日期值。
GETDATEgetdate获取当前系统时间。
ISDATEisdate判断一个日期字符串能否根据指定的格式串转换为一个日期值。
LASTDAYlastday获取日期所在月的最后一天。
TO_DATEto_date将指定格式的字符串转换为日期值。
TO_CHARto_char将日期按照指定格式转换为字符串。
UNIX_TIMESTAMPunix_timestamp将日期转换为整型的UNIX格式的日期值。
WEEKDAYweekday返回日期值是当前周的第几天。
WEEKOFYEARweekofyear返回日期值位于当年的第几周。
ADD_MONTHSadd_months计算日期值增加指定月数后的日期。
CURRENT_TIMESTAMPcurrent_timestamp返回当前TIMESTAMP类型的时间戳。
CURRENT_TIMEZONEcurrent_timezone返回当前系统的时区信息。
DAYday返回日期值的天。
DAYOFMONTHdayofmonth返回日部分的值。
DAYOFWEEKdayofweek返回日期的星期值。
DAYOFYEARdayofyear返回日期是当年中的第几天。
EXTRACTextract获取日期TIMESTAMP中指定单位的部分。
FROM_UTC_TIMESTAMPfrom_utc_timestamp将一个UTC时区的时间戳转换为一个指定时区的时间戳。
HOURhour返回日期小时部分的值。
LAST_DAYlast_day返回日期值所在月份的最后一天日期。
MINUTEminute返回日期分钟部分的值。
MONTHmonth返回日期值所属月份。
MONTHS_BETWEENmonths_between返回指定日期值间的月数。
NEXT_DAYnext_day返回大于日期值且与指定周相匹配的第一个日期。
QUARTERquarter返回日期值所属季度。
SECONDsecond返回日期秒数部分的值。
TO_MILLISto_millis将指定日期转换为以毫秒为单位的UNIX时间戳。
YEARyear返回日期值的年。

2、数学函数

MaxCompute SQL提供了如下数学函数供您在开发过程中使用,您可以根据实际需要选择合适的数学函数,进行数据计算、数据转换相关操作。

函数小写功能
ABSabs计算绝对值。
ACOSacos计算反余弦值。
ASINasin计算反正弦值。
ATANatan计算反正切值。
ATAN2atan2计算expr1/expr2的反正切函数。
CEILceil计算向上取整值。
CONVconv计算进制转换值。
COScos计算余弦值。
COSHcosh计算双曲余弦值。
COTcot计算余切值。
EXPexp计算指数值。
FLOORfloor计算向下取整值。
ISNANisnan判断表达式的值是否是NaN。
LNln计算自然对数。
LOGlog计算log对数值。
NEGATIVEnegative返回表达式的负值。
POSITIVEpositive返回表达式的值。
POWpow计算幂值。
RANDrand返回随机数。
ROUNDround返回四舍五入到指定小数点位置的值。
SINsin计算正弦值。
SINHsinh计算双曲正弦值。
SQRTsqrt计算平方根。
TANtan计算正切值。
TANHtanh计算双曲正切值。
TRUNCtrunc返回截取到指定小数点位置的值。
BINbin计算二进制代码值。
CBRTcbrt计算立方根值。
CORRcorr计算皮尔逊系数。
DEGREESdegrees将弧度转换为角度。
Ee返回e的值。
FACTORIALfactorial计算阶乘值。
FORMAT_NUMBERformat_number将数字转化为指定格式的字符串。
HEXhex返回整数或字符串的十六进制格式。
LOG2log2计算以2为底的对数。
LOG10log10计算以10为底的对数。
PIpi返回π的值。
RADIANSradians将角度转换为弧度。
SIGNsign返回输入参数的符号。
SHIFTLEFTshiftleft计算按位左移值。
SHIFTRIGHTshiftright计算按位右移值。
SHIFTRIGHTUNSIGNEDshiftrightunsigned计算无符号按位右移值。
UNHEXunhex返回十六进制字符串所代表的字符串。
WIDTH_BUCKETwidth_bucket返回指定字段值落入的分组编号。

3、算术运算符

运算符说明
A+BA或B为NULL,返回NULL,否则返回A+B的结果。
A-BA或B为NULL,返回NULL,否则返回A-B的结果。
A*BA或B为NULL,返回NULL,否则返回A×B的结果。
A/BA或B为NULL,返回NULL,否则返回A÷B的结果。说明如果A和B为BIGINT类型,返回结果为DOUBLE类型。
A%BA或B为NULL,返回NULL,否则返回A÷B并取余数的结果。
+A仍然返回A。
-A如果A为NULL,返回NULL,否则返回-A。
A DIV BA或B为NULL,返回NULL,否则返回A DIV B的结果。

4、窗口函数

MaxCompute SQL提供了如下窗口函数,使用窗口函数对指定开窗列的数据灵活地进行分析处理工作。

函数小写功能
ROW_NUMBERrow_number计算行号。从1开始递增。
RANKrank计算排名。排名可能不连续。
DENSE_RANKdense_rank计算排名。排名是连续的。
PERCENT_RANKpercent_rank计算排名。输出百分比格式。
CUME_DISTcume_dist计算累计分布。
NTILEntile将数据顺序切分成N等份,返回数据所在等份的编号(从1到N)。
LAGlag取当前行往前(朝分区头部方向)第N行数据的值。
LEADlead取当前行往后(朝分区尾部方向)第N行数据的值。
FIRST_VALUEfirst_value取当前行所对应窗口的第一条数据的值。
LAST_VALUElast_value取当前行所对应窗口的最后一条数据的值。
NTH_VALUEnth_value取当前行所对应窗口的第N条数据的值。
CLUSTER_SAMPLEcluster_sample用户随机抽样。返回True表示该行数据被抽中。
COUNTcount计算窗口中的记录数。
MINmin计算窗口中的最小值。
MAXmax计算窗口中的最大值。
AVGavg对窗口中的数据求平均值。
SUMsum对窗口中的数据求和。
MEDIANmedian计算窗口中的中位数。
STDDEVstddev计算总体标准差。是STDDEV_POP的别名。
STDDEV_SAMPstddev_samp计算样本标准差。

5、聚合函数

MaxCompute SQL支持的聚合函数如下。

函数小写功能
AVGavg计算平均值。
COUNTcount计算记录数。
COUNT_IFcount_if计算指定表达式为True的记录数。
MAXmax计算最大值。
MINmin计算最小值。
MEDIANmedian计算中位数。
STDDEVstddev计算总体标准差。
STDDEV_SAMPstddev_samp计算样本标准差。
SUMsum计算汇总值。
WM_CONCATwm_concat用指定的分隔符连接字符串。
ANY_VALUEany_value在指定范围内任选一个值返回。
APPROX_DISTINCTapprox_distinct返回输入的非重复值的近似数目。
ARG_MAXarg_max返回指定列的最大值对应行的列值。
ARG_MINarg_min返回指定列的最小值对应行的列值。
MAX_BYmax_by返回指定列的最大值对应行的列值。
MIN_BYmin_by返回指定列的最小值对应行的列值。
COLLECT_LISTcollect_list将指定的列聚合为一个数组。
COLLECT_SETcollect_set将指定的列聚合为一个无重复元素的数组。
COVAR_POPcovar_pop计算指定两个数值列的总体协方差。
COVAR_SAMPcovar_samp计算指定两个数值列的样本协方差。
NUMERIC_HISTOGRAMnumeric_histogram统计指定列的近似直方图。
PERCENTILEpercentile计算精确百分位数,适用于小数据量。
PERCENTILE_APPROXpercentile_approx计算近似百分位数,适用于大数据量。
VARIANCE/VAR_POPvariance/var_pop计算指定数值列的方差。
VAR_SAMPvar_samp计算指定数值列的样本方差。
BITWISE_OR_AGGbitwise_or_agg计算输入Value的bit OR聚合值。
BITWISE_AND_AGGbitwise_and_agg计算输入Value的bit AND聚合值。
MAP_AGGmap_agg构造两个输入字段的Map。
MULTIMAP_AGGmultimap_agg构造两个输入字段的Map,第一个字段作为Map的Key,第二个字段构造数组作为Map的Value。
MAP_UNIONmap_union对输入Map进行Union操作来构造输出Map。
MAP_UNION_SUMmap_union_sum对输入Map进行Union操作并对相同Key的Value求和来构造输出Map。
HISTOGRAMhistogram构造输入Map的Key值出现次数的Map。

6、字符串函数

MaxCompute SQL支持的字符串函数如下。其中字符串函数的使用限制请参见字符串函数的使用限制。

函数小写功能
ASCIIascii返回字符串的第一个字符的ASCII码。
CHAR_MATCHCOUNTchar_matchcount计算A字符串出现在B字符串中的字符个数。
CHRchr将指定ASCII码转换成字符。
CONCATconcat将字符串连接在一起。
CONCAT_WSconcat_ws将参数中的所有字符串按照指定的分隔符连接在一起。
DECODEdecode将字符串按照指定编码格式解码。
ENCODEencode将字符串按照指定编码格式编码。
FIND_IN_SETfind_in_set在以逗号分隔的字符串中查找指定字符串的位置。
FORMAT_NUMBERformat_number将数字转化为指定格式的字符串。
FROM_JSONfrom_json根据给定的JSON字符串和输出格式信息,返回ARRAY、MAP或STRUCT类型。
GET_JSON_OBJECTget_json_object在一个标准JSON字符串中,按照指定方式抽取指定的字符串。
INITCAPinitcap将字符串转换为固定格式的字符串,单词之间以空格分隔。转换后的格式为:字符串中每个单词首字母大写,其余小写。
INSTRinstr计算A字符串在B字符串中的位置。
IS_ENCODINGis_encoding判断字符串是否可以从指定的A字符集转换为B字符集。
KEYVALUEkeyvalue将字符串拆分为Key-Value对,并将Key-Value对分开,返回Key对应的Value。
KEYVALUE_TUPLEkeyvalue_tuple将字符串拆分为多个Key-Value对,并将Key-Value对分开,返回多个Key对应的Value。
LENGTHlength计算字符串的长度。
LENGTHBlengthb计算字符串以字节为单位的长度。
LOCATElocate在字符串中查找另一指定字符串的位置。
LTRIMltrim去除字符串的左端字符。
MD5md5计算字符串的MD5值。
PARSE_URLparse_url对URL进行解析返回指定部分的信息。
PARSE_URL_TUPLEparse_url_tuple对URL进行解析返回多个部分的信息。
REGEXP_COUNTregexp_count计算字符串从指定位置开始,匹配指定规则的子串数。
REGEXP_EXTRACTregexp_extract将字符串按照指定规则拆分为组后,返回指定组的字符串。
REGEXP_INSTRregexp_instr返回字符串从指定位置开始,与指定规则匹配指定次数的子串的起始或结束位置。
REGEXP_REPLACEregexp_replace将字符串中,与指定规则在指定次数匹配的子串替换为另一字符串。
REGEXP_SUBSTRregexp_substr返回字符串中,从指定位置开始,与指定规则匹配指定次数的子串。
REPEATrepeat返回将字符串重复指定次数后的结果。
REVERSEreverse返回倒序字符串。
RTRIMrtrim去除字符串的右端字符。
SPACEspace生成空格字符串。
SPLIT_PARTsplit_part按照分隔符拆分字符串,返回指定部分的子串。
SUBSTRsubstr返回STRING类型字符串从指定位置开始,指定长度的子串。
SUBSTRINGsubstring返回STRING或BINARY类型字符串从指定位置开始,指定长度的子串。
TO_CHARto_char将BOOLEAN、BIGINT、DECIMAL或DOUBLE类型值转为对应的STRING类型表示。
TO_JSONto_json将指定的复杂类型输出为JSON字符串。
TOLOWERtolower将字符串中的英文字符转换为小写形式。
TOUPPERtoupper将字符串中的英文字符转换为大写形式。
TRIMtrim去除字符串的左右两端字符。
URL_DECODEurl_decode将字符串从application/x-www-form-urlencoded MIME格式转为常规字符。
URL_ENCODEurl_encode将字符串编码为application/x-www-form-urlencoded MIME格式。
JSON_TUPLEjson_tuple在一个标准的JSON字符串中,按照输入的一组键抽取各个键指定的字符串。
LPADlpad将字符串向左补足到指定位数。
RPADrpad将字符串向右补足到指定位数。
REPLACEreplace将字符串中与指定字符串匹配的子串替换为另一字符串。
SOUNDEXsoundex将普通字符串替换为SOUNDEX字符串。
SUBSTRING_INDEXsubstring_index截取字符串指定分隔符前的字符串。
TRANSLATEtranslate将A出现在B中的字符串替换为C字符串。
REGEXP_EXTRACT_ALLregexp_extract_all在字符串中查找所有出现的正则表达式匹配的子字符串,并把找到的字符串以数组形式返回。

7、复杂类型函数

MaxCompute SQL支持的复杂类型函数如下。其中JSON函数的使用限制请参见JSON函数的使用限制。

函数小写功能
ARRAY函数array函数
ALL_MATCHall_match判断ARRAY数组中是否所有元素都满足指定条件。
ANY_MATCHany_match判断ARRAY数组中是否存在满足指定条件的元素。
ARRAYarray使用给定的值构造ARRAY。
ARRAY_CONTAINSarray_contains检测指定的ARRAY中是否包含指定的值。
ARRAY_DISTINCTarray_distinct去除ARRAY数组中的重复元素。
ARRAY_EXCEPTarray_except找出在ARRAY A中,但不在ARRAY B中的元素,并去掉重复的元素后,以ARRAY形式返回结果。
ARRAY_INTERSECTarray_intersect计算两个ARRAY数组的交集。
ARRAY_JOINarray_join将ARRAY数组中的元素按照指定字符串进行拼接。
ARRAY_MAXarray_max计算ARRAY数组中的最大值。
ARRAY_MINarray_min计算ARRAY数组中的最小值。
ARRAY_POSITIONarray_position计算指定元素在ARRAY数组中第一次出现的位置。
ARRAY_REDUCEarray_reduce将ARRAY数组的元素进行聚合。
ARRAY_REMOVEarray_remove在ARRAY数组中删除指定元素。
ARRAY_REPEATarray_repeat返回将指定元素重复指定次数后的ARRAY数组。
ARRAY_SORTarray_sort将ARRAY数组的元素进行排序。
ARRAY_UNIONarray_union计算两个ARRAY数组的并集并去掉重复元素。
ARRAYS_OVERLAParrays_overlap判断两个ARRAY数组中是否包含相同元素。
ARRAYS_ZIParrays_zip合并多个ARRAY数组。
CONCATconcat将ARRAY数组或字符串连接在一起。
EXPLODEexplode将一行数据转为多行的UDTF。
FILTERfilter将ARRAY数组中的元素进行过滤。
INDEXindex返回ARRAY数组指定位置的元素值。
POSEXPLODEposexplode将指定的ARRAY展开,每个Value一行,每行两列分别对应数组从0开始的下标和数组元素。
SIZEsize返回指定ARRAY中的元素数目。
SLICEslice对ARRAY数据切片,返回从指定位置开始、指定长度的数组。
SORT_ARRAYsort_array为指定的数组中的元素排序。
TRANSFORMtransform将ARRAY数组中的元素进行转换。
ZIP_WITHzip_with将2个ARRAY数组按照位置进行元素级别的合并。
MAP函数map函数
EXPLODEexplode将一行数据转为多行的UDTF。
INDEXindex返回MAP类型参数中满足指定条件的Value。
MAPmap使用指定的Key-Value对建立MAP。
MAP_CONCATmap_concat返回多个MAP的并集。
MAP_ENTRIESmap_entries将MAP中的Key、Value键值映射转换为STRUCT结构数组。
MAP_FILTERmap_filter将MAP中的元素进行过滤。
MAP_FROM_ARRAYSmap_from_arrays通过给定的ARRAY数组构造MAP。
MAP_FROM_ENTRIESmap_from_entries通过给定的结构体数组构造MAP。
MAP_KEYSmap_keys将参数MAP中的所有Key作为数组返回。
MAP_VALUESmap_values将参数MAP中的所有Value作为数组返回。
MAP_ZIP_WITHmap_zip_with对输入的两个MAP进行合并得到一个新MAP。
SIZEsize返回指定MAP中的K/V对数。
TRANSFORM_KEYStransform_keys对MAP进行变换,保持Value不变,根据指定函数计算新的Key。
TRANSFORM_VALUEStransform_values对MAP进行变换,保持Key不变,根据指定函数计算新的Value。
STRUCT函数struct函数
FIELDfield获取STRUCT中的成员变量的取值。
INLINEinline将指定的STRUCT数组展开。每个数组元素对应一行,每行每个STRUCT元素对应一列。
STRUCTstruct使用给定Value列表建立STRUCT。
NAMED_STRUCTnamed_struct使用给定的Name、Value列表建立STRUCT。
JSON函数json函数
FROM_JSONfrom_json根据给定的JSON字符串和输出格式信息,返回ARRAY、MAP或STRUCT类型。
GET_JSON_OBJECTget_json_object在一个标准JSON字符串中,按照指定方式抽取指定的字符串。
JSON_TUPLEjson_tuple在一个标准的JSON字符串中,按照输入的一组键抽取各个键指定的字符串。
TO_JSONto_json将指定的复杂类型输出为JSON字符串。
JSON_OBJECTjson_object生成JSON OBJECT,要求key和value成对出现。
JSON_ARRAYjson_array生成JSON ARRAY。将一个可能为空的JSON类型对象,转换为包含这些类型的数组。
JSON_EXTRACTjson_extract解析JSON表达式中对应json_path的数据,注意json_path非法时会报错。
JSON_EXISTSjson_exists查看json_path对应的JSON值是否存在。
JSON_PRETTYjson_pretty美化JSON,增加换行及空格。
JSON_TYPEjson_type返回JSON数据所属的数据类型名称。
JSON_FORMATjson_format将JSON数据转换成STRING类型,默认不自动进行美化。
JSON_PARSEjson_parse将STRING类型转成JSON类型,非JSON格式转换为字符串会报错。
JSON_VALIDjson_valid检查字符串是否为合法的JSON格式。
CASTcast支持基本类型与JSON类型的转换。

8、加密函数

MaxCompute SQL支持的加密函数如下。

函数小写功能
SYM_ENCRYPTsym_encrypt对表里的指定列做随机性加密,返回BINARY类型的密文。
SYM_DECRYPTsym_decrypt对表里的指定已经随机性加密的列做解密,BINARY类型的明文。

9、其他函数

MaxCompute SQL支持的其他类型函数如下。

函数小写功能
BASE64base64将二进制表示值转换为BASE64编码格式字符串。
BETWEEN ANDbetween and筛选满足区间条件的数据。
CASE WHENcase when根据表达式的计算结果,灵活地返回不同的值。
CASTcast将表达式的结果转换为目标数据类型。
COALESCEcoalesce返回参数列表中第一个非NULL的值。
COMPRESScompress对STRING或BINARY类型输入参数按照GZIP算法进行压缩。
CRC32crc32计算字符串或二进制数据的循环冗余校验值。
DECODEdecode实现if-then-else分支选择的功能。
DECOMPRESSdecompress对BINARY类型输入参数按照GZIP算法进行解压。
GET_IDCARD_AGEget_idcard_age根据身份证号码返回当前的年龄。
GET_IDCARD_BIRTHDAYget_idcard_birthday根据身份证号码返回出生日期。
GET_IDCARD_SEXget_idcard_sex根据身份证号码返回性别。
GET_USER_IDget_user_id获取当前账号的账号ID。
GREATESTgreatest返回输入参数中最大的值。
HASHhash根据输入参数计算Hash值。
IFif判断指定的条件是否为真。
LEASTleast返回输入参数中最小的值。
MAX_PTmax_pt返回分区表的一级分区的最大值。
NULLIFnullif比较两个入参是否相等。
NVLnvl指定值为NULL的参数的返回结果。
ORDINALordinal将输入变量按从小到大排序后,返回指定位置的值。
PARTITION_EXISTSpartition_exists查询指定的分区是否存在。
SAMPLEsample对所有读入的列值,采样并过滤掉不满足采样条件的行。
SHAsha计算字符串或二进制数据的SHA-1哈希值。
SHA1sha1计算字符串或二进制数据的SHA-1哈希值。
SHA2sha2计算字符串或二进制数据的SHA-2哈希值。
SIGNsign判断正负值属性。
SPLITsplit将字符串按照指定的分隔符分割后返回数组。
STACKstack将指定的参数组分割为指定的行数。
STR_TO_MAPstr_to_map将字符串按照指定的分隔符分割得到Key和Value。
TABLE_EXISTStable_exists查询指定的表是否存在。
TRANS_ARRAYtrans_array将一行数据转为多行的UDTF,将列中存储的以固定分隔符格式分隔的数组转为多行。
TRANS_COLStrans_cols将一行数据转为多行数据的UDTF,将不同的列拆分为不同的行。
UNBASE64unbase64将BASE64编码格式字符串转换为二进制表示值。
UNIQUE_IDunique_id返回一个随机ID,运行效率高于UUID函数。
UUIDuuid返回一个随机ID。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/52190.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle liunx 常用命令

前言 Oracle Linux 是一个企业级的 Linux 发行版,基于 Red Hat Enterprise Linux (RHEL)。在 Oracle Linux 上使用常用的 Linux 命令来管理系统和数据库是很普遍的。以下是一些常用的 Oracle Linux 命令和它们的功能说明: 1. 文件和目录管理 ls&#…

<数据集>无人机航拍不同高度牧羊识别数据集<目标检测>

数据集格式:VOCYOLO格式 图片数量:6065张 标注数量(xml文件个数):6065 标注数量(txt文件个数):6065 标注类别数:1 标注类别名称:[sheep] 序号类别名称图片数框数1sheep6065149785 使用标注工具&…

每日一题~abc 367 D+E(F 在上一篇)(区间和相关的计数问题前缀map,建图+倍增)

D题意: 环形的休息区,编号为 1-N,顺时针方向,从休息区i 到i1 需要的代价是 ai, 从休息区 s 顺时针走到休息区 t ( s!t )所需的最小步数是 M 的倍数。 找出可能的配对数 (s,t) 1.解决环形的问题:…

【51单片机】ds18b20驱动,11.0592MHZ,使用DS18b20

文章目录 ds18b20.h #include <reg52.h> #include <intrins.h> #include <math.h>// 管脚定义 sbit DS18B20_DATA_PIN = P1 ^ 0; // DS18B20数据口定义/******************************************************************************* * 函 数 名 …

Macos M1 IDEA本地调试 HBase 2.2.2

# 1. 前提 执行 mvn clean package assembly:single -DskipTests没问题&#xff0c;并在hbase-assembly/target目录下生成hbase-2.2.2-bin.tar.gz 文件夹 证明Maven 下载依赖没问题 1.1 报错 1 这里应该是报错找不到 com.google.protobuf:protoc:exe:osx-aarch_64:3.5.1 …

leetcode滑动窗口问题

想成功先发疯&#xff0c;不顾一切向前冲。 第一种 定长滑动窗口 . - 力扣&#xff08;LeetCode&#xff09;1456.定长子串中的元音的最大数目. - 力扣&#xff08;LeetCode&#xff09; No.1 定长滑窗套路 我总结成三步&#xff1a;入-更新-出。 1. 入&#xff1a;下标为…

docker inspect输出内容详解,推测容器运行命令

原始输出 [{"Id": "c2496d852ee3affd295a177e9f26f163a53da8d11e3708d6a479f189f707ad0b","Created": "2024-08-04T02:43:24.909341103Z","Path": "/startup.sh","Args": [],"State": {&quo…

lambda 表达式可以传递引用为什么需要引用捕获

当 lambda 表达式被传递或存储在其他地方时&#xff0c;通过引用捕获可以确保它始终访问正确的外部变量。—— 引用捕获可以精确地控制被捕获的引用变量的作用域。如果一个 lambda 表达式被存储在一个容器中&#xff0c;并且在不同的时间点被调用&#xff0c;引用捕获可以确保它…

入门STM32—外部中断

外部中断的存在使得微控制器能够及时响应外部事件&#xff0c;避免频繁的轮询操作&#xff0c;从而提高系统的实时性、效率和低功耗性能。 1.什么是外部中断&#xff1f; 外部中断是指微控制器接收到外部引脚的信号变化时触发的中断。STM32F103系列微控制器支持多个外部中断线…

鸿蒙(API 12 Beta3版)【DRM会话管理(C/C++)】数字版权保护开发

DRM会话管理&#xff08;MediaKeySession&#xff09;支持媒体密钥管理及媒体解密等&#xff0c;MediaKeySession实例由系统管理里的MediaKeySystem实例创建和销毁。 开发步骤 导入NDK接口&#xff0c;接口中提供了DRM相关的属性和方法&#xff0c;导入方法如下。 #include &…

学习嵌入式第二十九天

ipc进程间通信方式 PC&#xff0c;即进程间通信&#xff08;Inter-Process Communication&#xff09;&#xff0c;是操作系统中不同进程之间交换数据的一种机制。以下是一些常见的IPC方式&#xff1a; 管道&#xff1a;用于父子进程或兄弟进程之间的通信。消息队列&#xff…

selenium-java实现自动登录跳转页面

如果要一直刷新一个网页&#xff0c;总不能人工一直去点&#xff0c;所以想到大学时候学过selenium技术&#xff0c;写个脚本来一直刷新&#xff0c;因为经常写java语言&#xff0c;所以选用java语言来写 实验环境 注意&#xff0c;需要先准备好Google浏览器和Chrome-Driver驱…

除了系统问题 前端可能会有什么问题

目录 1.问题&#xff1a;页面加载缓慢&#xff0c;用户体验不佳。2.问题&#xff1a;页面在不同设备和屏幕尺寸下显示效果不佳。3.问题&#xff1a;不同浏览器对CSS和JS的支持程度不同&#xff0c;导致页面在不同浏览器下表现不一致。4.问题&#xff1a;页面中的事件处理不当&a…

代码随想录跟练第六天——LeetCode

第454题.四数相加II 力扣题目链接(opens new window) 给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) &#xff0c;使得 A[i] B[j] C[k] D[l] 0。 为了使问题简单化&#xff0c;所有的 A, B, C, D 具有相同的长度 N&#xff0c;且 0 ≤ N ≤…

极限02:两个重要极限

1.夹逼准则 定义&#xff1a;设{ a n a_n an​}, { b n b_n bn​}, { c n c_n cn​}为实数列&#xff0c; a n ≤ b n ≤ c n a_n≤b_n≤c_n an​≤bn​≤cn​, 且 lim ⁡ n → ∞ a n lim ⁡ n → ∞ c n l \lim_{n \to \infty} a_n \lim_{n \to \infty} c_n l n→∞lim​…

ffmpeg6.1集成Plus-OpenGL-Patch滤镜

可参考上一篇文章。ffmpeg6.1集成ffmpeg-gl-transition滤镜-CSDN博客 安装思路大致相同&#xff0c; 因为 Plus-OpenGL-Patch也是基于 ffmpeg 4.x 进行开发的&#xff0c;所以在高版本上安装会有很多报错。 这是我安装后的示例&#xff0c;需要安装教程或者改代码可私信我。 …

记录一次 Redis 优化发送数据(使用管道批量传送)

一 项目背景 此前的项目中&#xff0c;鉴于客户方服务器的安全配置对 MQ 中间件有所限制&#xff0c;我们只得采用 Redis 的 list 作为简易的 MQ 来传送报文数据。然而&#xff0c;近段时间客户关闭了相关端口&#xff0c;导致大量数据积压&#xff0c;需要进行补发。在补发过程…

大数据背景下基于Python的牛油果销售数据可视化分析

注&#xff1a;源码在最后&#xff0c;只是一次实验记录&#xff0c;不合理的地方自行修改。 一 研究背景及意义 21世纪以来&#xff0c;随着科学技术的进步&#xff0c;人们的生活水平也随之大幅提升提高。在科技和经济快速发展下&#xff0c;全球已经进入了大数据时代。大数…

8.21-部署eleme项目

1.设置主从从mysql57服务器 &#xff08;1&#xff09;配置主数据库 [rootmsater_5 ~]# systemctl stop firewalld[rootmsater_5 ~]# setenforce 0[rootmsater_5 ~]# systemctl disable firewalldRemoved symlink /etc/systemd/system/multi-user.target.wants/firewalld.serv…

使用 Fyne 构建 GUI 应用:设置标签文本和自增计数器

引言 Fyne 是一个用 Go 语言编写的跨平台 GUI 框架&#xff0c;它提供了一套丰富的组件来帮助开发者快速构建出漂亮的用户界面。在本文中&#xff0c;我们将通过一个简单的案例来演示如何使用 Fyne 创建 GUI 应用程序&#xff0c;该程序包含设置标签文本和自增计数器的功能。 …