BigQuery offers the SPLIT() function which splits a string at an optionally-specified delimiter into a string array. If no delimiter is specified, it is default to a comma. If the string is empty, an array of a single empty string is returned. If the delimiter is not found in the string, an array with a single element (the string) is returned.
In BigQuery, the function can also accept bytes. In order to implement this, I think some modifications to ByteString.java may be required. I will probably not do this at least for my initial draft. If anyone has any suggestions or guidance on whether or not it should be supported, I would appreciate it.
Documentation and example cases may be found below.
EXAMPLE: SPLIT('h,e,l,l,o') would return: [h, e, l, l, o].
EXAMPLE: SPLIT('h-e-l-l-o', '-') would return: [h, e, l, l, o].