1. base64(col):返回一个字符串列,它是旧列(二进制值)的BASE64编码得到的字符串。其中col 必须是二进制列。

    2. bin(col):返回一个字符串列,它是旧列(二进制值)的字符串表示(如二进制1101 的字符串表示为'1101' )其中col 必须是二进制列。

    3. cov(col,fromBase,toBase):返回一个字符串列,它是一个数字的字符串表达从fromBase 转换到toBase

      • 参数:

        • col:一个字符串列,它是数字的表达。如1028。它的基数由fromBase 给出
        • fromBase:一个整数,col 中字符串的数值的基数。
        • toBase:一个整数,要转换的数值的基数。
      • 示例:

    4. concat(*cols):创建一个新列,它是指定列的字符串拼接的结果(没有分隔符)。

      • 参数

        • cols:列名字符串列表,或者Column 列表。要求这些列具有同样的数据类型
    5. concat_ws(sep,*cols):创建一个新列,它是指定列的字符串使用指定的分隔符拼接的结果。

      • 参数

        • sep:一个字符串,表示分隔符
        • cols:列名字符串列表,或者Column 列表。要求这些列具有同样的数据类型
    6. decode(col,charset):从二进制列根据指定字符集来解码成字符串。

      • 参数:

        • col:一个字符串或者Column,为二进制列
        • charset:一个字符串,表示字符集。
    7. encode(col,charset):把字符串编码成二进制格式。

      • 参数:

        • col:一个字符串或者Column,为字符串列
        • charset:一个字符串,表示字符集。
    8. format_number(col,d):格式化数值成字符串,根据HALF_EVEN 来四舍五入成d 位的小数。

      • 参数:

        • col:一个字符串或者Column,为数值列
        • d:一个整数,格式化成表示d 位小数。
    9. format_string(format,*cols):返回print 风格的格式化字符串。

      • 参数:

        • formatprint 风格的格式化字符串。如%s%d
        • cols:一组列名或者Columns,用于填充format
    10. hex(col):计算指定列的十六进制值(以字符串表示)。

      • 参数:

        • col:一个字符串或者Column,为字符串列、二进制列、或者整数列
    11. initcap(col):将句子中每个单词的首字母大写。

    12. instr(str,substr):给出substrstr 的首次出现的位置。位置不是从0开始,而是从1开始的。

      如果substr 不在str 中,则返回 0 。

      如果str 或者 substrnull,则返回null

      • 参数:

        • str:一个字符串或者Column,为字符串列
        • substr:一个字符串
    13. locate(substr,str,pos=1):给出substrstr 的首次出现的位置(在pos 之后)。位置不是从0开始,而是从1开始的。

      如果substr 不在str 中,则返回 0 。

      如果str 或者 substrnull,则返回null

      • 参数:

        • str:一个字符串或者Column,为字符串列
        • substr:一个字符串
        • pos::起始位置(基于0开始)
    14. length(col):计算字符串或者字节的长度。

      • 参数:

        • col:一个字符串或者Column,为字符串列,或者为字节列。
    15. levenshtein(left,right):计算两个字符串之间的Levenshtein 距离。

      Levenshtein 距离:刻画两个字符串之间的差异度。它是从一个字符串修改到另一个字符串时,其中编辑单个字符串(修改、插入、删除)所需要的最少次数。

    16. lower(col):转换字符串到小写

    17. lpad(col,len,pad):对字符串,向左填充。

      • 参数:

        • col:一个字符串或者Column,为字符串列
        • len:预期填充后的字符串长度
        • pad:填充字符串
    18. ltrim(col):裁剪字符串的左侧空格

    19. md5(col):计算指定列的MD5 值(一个32字符的十六进制字符串)

    20. regexp_extract(str,pattern,idx):通过正则表达式抽取字符串中指定的子串 。

      • 参数:

        • str:一个字符串或者Column,为字符串列,表示被抽取的字符串。
        • pattern: 一个Java 正则表达式子串。
        • idx:表示抽取第几个匹配的结果。
      • 返回值:如果未匹配到,则返回空字符串。
    21. .regexp_replace(str,pattern,replacement): 通过正则表达式替换字符串中指定的子串。

      • 参数:

        • str:一个字符串或者Column,为字符串列,表示被替换的字符串。
        • pattern: 一个Java 正则表达式子串。
        • replacement:表示替换的子串
      • 返回值:如果未匹配到,则返回空字符串。
    22. reverse(col):翻转一个字符串列,结果返回一个新的字符串列

    23. rpad(col,len,pad):向右填充字符串到指定长度。

      • 参数:

        • col:一个字符串或者Column,为字符串列
        • len: 指定的长度
        • pad:填充字符串
    24. rtrim(col):剔除字符串右侧的空格符

    25. sha1(col): 以16进制字符串的形式返回SHA-1 的结果

    26. sha2(col,numBites):以16进制字符串的形式返回SHA-2 的结果。

      numBites 指定了结果的位数(可以为 244,256,384,512,或者0表示256

    27. soundex(col):返回字符串的SoundEx 编码

    28. split(str,pattern): 利用正则表达式拆分字符串。产生一个array

      • 参数:

        • str:一个字符串或者Column,为字符串列
        • pattern:一个字符串,表示正则表达式
    29. substring(str,pos,len):抽取子串。

      • 参数:

        • str:一个字符串或者Column,为字符串列,或者字节串列
        • pos:抽取的起始位置
        • len:抽取的子串长度
      • 返回值:如果str 表示字符串列,则返回的是子字符串。如果str 是字节串列,则返回的是字节子串。
    30. substring_index(str,delim,count):抽取子串

      • 参数:

        • str: 一个字符串或者Column,为字符串列
        • delim:一个字符串,表示分隔符
        • count:指定子串的下标。 如果为正数,则从左开始,遇到第countdelim 时,返回其左侧的内容; 如果为负数,则从右开始,遇到第abs(count)delim 时,返回其右侧的内容;
      • 示例:

    31. translate(srcCol,matching,replace):将srcCol 中指定的字符替换成另外的字符。

      • 参数:

        • srcCol: 一个字符串或者Column,为字符串列
        • matching: 一个字符串。只要srcCol 中的字符串,有任何字符匹配了它,则执行替换
        • replace:它一一对应于matching 中要替换的字符
      • 示例:

    32. trim(col):剔除字符串两侧的空格符

    33. unbase64(col): 对字符串列执行BASE64 编码,并且返回一个二进制列

    34. upper(col):将字符串列转换为大写格式