public class BinaryStringDataUtil extends Object
BinaryStringData.| Modifier and Type | Field and Description |
|---|---|
static org.apache.flink.table.data.binary.BinaryStringData[] |
EMPTY_STRING_ARRAY |
static org.apache.flink.table.data.binary.BinaryStringData |
FALSE_STRING |
static org.apache.flink.table.data.binary.BinaryStringData |
NULL_STRING |
static org.apache.flink.table.data.binary.BinaryStringData |
TRUE_STRING |
| Constructor and Description |
|---|
BinaryStringDataUtil() |
| Modifier and Type | Method and Description |
|---|---|
static org.apache.flink.table.data.binary.BinaryStringData |
concat(org.apache.flink.table.data.binary.BinaryStringData... inputs)
Concatenates input strings together into a single string.
|
static org.apache.flink.table.data.binary.BinaryStringData |
concat(Iterable<org.apache.flink.table.data.binary.BinaryStringData> inputs) |
static org.apache.flink.table.data.binary.BinaryStringData |
concatWs(org.apache.flink.table.data.binary.BinaryStringData separator,
org.apache.flink.table.data.binary.BinaryStringData... inputs)
Concatenates input strings together into a single string using the separator.
|
static org.apache.flink.table.data.binary.BinaryStringData |
concatWs(org.apache.flink.table.data.binary.BinaryStringData separator,
Iterable<org.apache.flink.table.data.binary.BinaryStringData> inputs) |
static org.apache.flink.table.data.binary.BinaryStringData |
hash(org.apache.flink.table.data.binary.BinaryStringData str,
MessageDigest md)
Calculate the hash value of a given string use
MessageDigest. |
static org.apache.flink.table.data.binary.BinaryStringData |
hash(org.apache.flink.table.data.binary.BinaryStringData str,
String algorithm) |
static org.apache.flink.table.data.binary.BinaryStringData |
hash(byte[] bytes,
MessageDigest md)
Calculate the hash value of the given bytes use
MessageDigest. |
static boolean |
isSpaceString(org.apache.flink.table.data.binary.BinaryStringData str) |
static org.apache.flink.table.data.binary.BinaryStringData |
keyValue(org.apache.flink.table.data.binary.BinaryStringData str,
byte split1,
byte split2,
org.apache.flink.table.data.binary.BinaryStringData keyName)
Parse target string as key-value string and return the value matches key name.
|
static org.apache.flink.table.data.binary.BinaryStringData |
reverse(org.apache.flink.table.data.binary.BinaryStringData str)
Reverse each character in current string.
|
static String |
safeToString(org.apache.flink.table.data.binary.BinaryStringData str) |
static org.apache.flink.table.data.binary.BinaryStringData[] |
splitByWholeSeparatorPreserveAllTokens(org.apache.flink.table.data.binary.BinaryStringData str,
org.apache.flink.table.data.binary.BinaryStringData separator)
Splits the provided text into an array, separator string specified.
|
static org.apache.flink.table.data.binary.BinaryStringData |
substringSQL(org.apache.flink.table.data.binary.BinaryStringData str,
int pos) |
static org.apache.flink.table.data.binary.BinaryStringData |
substringSQL(org.apache.flink.table.data.binary.BinaryStringData str,
int pos,
int length) |
static boolean |
toBoolean(org.apache.flink.table.data.binary.BinaryStringData str)
Parse a
StringData to boolean. |
static byte |
toByte(org.apache.flink.table.data.binary.BinaryStringData str) |
static int |
toDate(org.apache.flink.table.data.binary.BinaryStringData input) |
static org.apache.flink.table.data.DecimalData |
toDecimal(org.apache.flink.table.data.binary.BinaryStringData str,
int precision,
int scale)
Parses a
BinaryStringData to DecimalData. |
static double |
toDouble(org.apache.flink.table.data.binary.BinaryStringData str) |
static float |
toFloat(org.apache.flink.table.data.binary.BinaryStringData str) |
static int |
toInt(org.apache.flink.table.data.binary.BinaryStringData str)
Parses this BinaryStringData to Int.
|
static long |
toLong(org.apache.flink.table.data.binary.BinaryStringData str)
Parses this BinaryStringData to Long.
|
static short |
toShort(org.apache.flink.table.data.binary.BinaryStringData str) |
static int |
toTime(org.apache.flink.table.data.binary.BinaryStringData input) |
static org.apache.flink.table.data.TimestampData |
toTimestamp(org.apache.flink.table.data.binary.BinaryStringData input,
int precision)
Used by
CAST(x as TIMESTAMP). |
static org.apache.flink.table.data.TimestampData |
toTimestamp(org.apache.flink.table.data.binary.BinaryStringData input,
int precision,
TimeZone timeZone)
Used by
CAST(x as TIMESTAMP_LTZ). |
static org.apache.flink.table.data.binary.BinaryStringData |
trim(org.apache.flink.table.data.binary.BinaryStringData str,
org.apache.flink.table.data.binary.BinaryStringData trimStr)
Walk each character of current string from both ends, remove the character if it is in trim
string.
|
static org.apache.flink.table.data.binary.BinaryStringData |
trim(org.apache.flink.table.data.binary.BinaryStringData str,
boolean leading,
boolean trailing,
org.apache.flink.table.data.binary.BinaryStringData seek) |
static org.apache.flink.table.data.binary.BinaryStringData |
trimLeft(org.apache.flink.table.data.binary.BinaryStringData str) |
static org.apache.flink.table.data.binary.BinaryStringData |
trimLeft(org.apache.flink.table.data.binary.BinaryStringData str,
org.apache.flink.table.data.binary.BinaryStringData trimStr)
Walk each character of current string from left end, remove the character if it is in trim
string.
|
static org.apache.flink.table.data.binary.BinaryStringData |
trimRight(org.apache.flink.table.data.binary.BinaryStringData str) |
static org.apache.flink.table.data.binary.BinaryStringData |
trimRight(org.apache.flink.table.data.binary.BinaryStringData str,
org.apache.flink.table.data.binary.BinaryStringData trimStr)
Walk each character of current string from right end, remove the character if it is in trim
string.
|
public static final org.apache.flink.table.data.binary.BinaryStringData NULL_STRING
public static final org.apache.flink.table.data.binary.BinaryStringData TRUE_STRING
public static final org.apache.flink.table.data.binary.BinaryStringData FALSE_STRING
public static final org.apache.flink.table.data.binary.BinaryStringData[] EMPTY_STRING_ARRAY
public static org.apache.flink.table.data.binary.BinaryStringData[] splitByWholeSeparatorPreserveAllTokens(org.apache.flink.table.data.binary.BinaryStringData str,
org.apache.flink.table.data.binary.BinaryStringData separator)
The separator is not included in the returned String array. Adjacent separators are treated as separators for empty tokens.
A null separator splits on whitespace.
"".splitByWholeSeparatorPreserveAllTokens(*) = []
"ab de fg".splitByWholeSeparatorPreserveAllTokens(null) = ["ab", "de", "fg"]
"ab de fg".splitByWholeSeparatorPreserveAllTokens(null) = ["ab", "", "", "de", "fg"]
"ab:cd:ef".splitByWholeSeparatorPreserveAllTokens(":") = ["ab", "cd", "ef"]
"ab-!-cd-!-ef".splitByWholeSeparatorPreserveAllTokens("-!-") = ["ab", "cd", "ef"]
Note: returned binary strings reuse memory segments from the input str.
separator - String containing the String to be used as a delimiter, null splits
on whitespacenull if null String was inputpublic static boolean toBoolean(org.apache.flink.table.data.binary.BinaryStringData str)
throws org.apache.flink.table.api.TableException
StringData to boolean.org.apache.flink.table.api.TableExceptionpublic static org.apache.flink.table.data.binary.BinaryStringData hash(byte[] bytes,
MessageDigest md)
MessageDigest.public static org.apache.flink.table.data.binary.BinaryStringData hash(org.apache.flink.table.data.binary.BinaryStringData str,
MessageDigest md)
MessageDigest.public static org.apache.flink.table.data.binary.BinaryStringData hash(org.apache.flink.table.data.binary.BinaryStringData str,
String algorithm)
throws NoSuchAlgorithmException
NoSuchAlgorithmExceptionpublic static org.apache.flink.table.data.DecimalData toDecimal(org.apache.flink.table.data.binary.BinaryStringData str,
int precision,
int scale)
throws NumberFormatException
BinaryStringData to DecimalData.NumberFormatExceptionpublic static long toLong(org.apache.flink.table.data.binary.BinaryStringData str)
throws NumberFormatException
Note that, in this method we accumulate the result in negative format, and convert it to positive format at the end, if this string is not started with '-'. This is because min value is bigger than max value in digits, e.g. Long.MAX_VALUE is '9223372036854775807' and Long.MIN_VALUE is '-9223372036854775808'.
This code is mostly copied from LazyLong.parseLong in Hive.
NumberFormatExceptionpublic static int toInt(org.apache.flink.table.data.binary.BinaryStringData str)
throws NumberFormatException
Note that, in this method we accumulate the result in negative format, and convert it to positive format at the end, if this string is not started with '-'. This is because min value is bigger than max value in digits, e.g. Integer.MAX_VALUE is '2147483647' and Integer.MIN_VALUE is '-2147483648'.
This code is mostly copied from LazyInt.parseInt in Hive.
Note that, this method is almost same as `toLong`, but we leave it duplicated for performance reasons, like Hive does.
NumberFormatExceptionpublic static short toShort(org.apache.flink.table.data.binary.BinaryStringData str)
throws NumberFormatException
NumberFormatExceptionpublic static byte toByte(org.apache.flink.table.data.binary.BinaryStringData str)
throws NumberFormatException
NumberFormatExceptionpublic static double toDouble(org.apache.flink.table.data.binary.BinaryStringData str)
throws NumberFormatException
NumberFormatExceptionpublic static float toFloat(org.apache.flink.table.data.binary.BinaryStringData str)
throws NumberFormatException
NumberFormatExceptionpublic static int toDate(org.apache.flink.table.data.binary.BinaryStringData input)
throws java.time.DateTimeException
java.time.DateTimeExceptionpublic static int toTime(org.apache.flink.table.data.binary.BinaryStringData input)
throws java.time.DateTimeException
java.time.DateTimeExceptionpublic static org.apache.flink.table.data.TimestampData toTimestamp(org.apache.flink.table.data.binary.BinaryStringData input,
int precision)
throws java.time.DateTimeException
CAST(x as TIMESTAMP).java.time.DateTimeExceptionpublic static org.apache.flink.table.data.TimestampData toTimestamp(org.apache.flink.table.data.binary.BinaryStringData input,
int precision,
TimeZone timeZone)
throws java.time.DateTimeException
CAST(x as TIMESTAMP_LTZ).java.time.DateTimeExceptionpublic static org.apache.flink.table.data.binary.BinaryStringData keyValue(org.apache.flink.table.data.binary.BinaryStringData str,
byte split1,
byte split2,
org.apache.flink.table.data.binary.BinaryStringData keyName)
split1 - separator between key-value tuple.split2 - separator between key and value.keyName - name of the key whose value you want return.public static org.apache.flink.table.data.binary.BinaryStringData substringSQL(org.apache.flink.table.data.binary.BinaryStringData str,
int pos)
public static org.apache.flink.table.data.binary.BinaryStringData substringSQL(org.apache.flink.table.data.binary.BinaryStringData str,
int pos,
int length)
public static org.apache.flink.table.data.binary.BinaryStringData concat(org.apache.flink.table.data.binary.BinaryStringData... inputs)
public static org.apache.flink.table.data.binary.BinaryStringData concat(Iterable<org.apache.flink.table.data.binary.BinaryStringData> inputs)
public static org.apache.flink.table.data.binary.BinaryStringData concatWs(org.apache.flink.table.data.binary.BinaryStringData separator,
org.apache.flink.table.data.binary.BinaryStringData... inputs)
Note: CONCAT_WS() does not skip any empty strings, however it does skip any NULL values after the separator. For example, concat_ws(",", "a", null, "c") would yield "a,c".
public static org.apache.flink.table.data.binary.BinaryStringData concatWs(org.apache.flink.table.data.binary.BinaryStringData separator,
Iterable<org.apache.flink.table.data.binary.BinaryStringData> inputs)
public static org.apache.flink.table.data.binary.BinaryStringData reverse(org.apache.flink.table.data.binary.BinaryStringData str)
public static org.apache.flink.table.data.binary.BinaryStringData trim(org.apache.flink.table.data.binary.BinaryStringData str,
org.apache.flink.table.data.binary.BinaryStringData trimStr)
trimStr - the trim stringpublic static org.apache.flink.table.data.binary.BinaryStringData trimLeft(org.apache.flink.table.data.binary.BinaryStringData str)
public static boolean isSpaceString(org.apache.flink.table.data.binary.BinaryStringData str)
public static org.apache.flink.table.data.binary.BinaryStringData trimLeft(org.apache.flink.table.data.binary.BinaryStringData str,
org.apache.flink.table.data.binary.BinaryStringData trimStr)
trimStr - the trim stringpublic static org.apache.flink.table.data.binary.BinaryStringData trimRight(org.apache.flink.table.data.binary.BinaryStringData str)
public static org.apache.flink.table.data.binary.BinaryStringData trimRight(org.apache.flink.table.data.binary.BinaryStringData str,
org.apache.flink.table.data.binary.BinaryStringData trimStr)
trimStr - the trim stringpublic static org.apache.flink.table.data.binary.BinaryStringData trim(org.apache.flink.table.data.binary.BinaryStringData str,
boolean leading,
boolean trailing,
org.apache.flink.table.data.binary.BinaryStringData seek)
public static String safeToString(org.apache.flink.table.data.binary.BinaryStringData str)
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.