我有一个hbase表,它为其中一个列获取一个base64值。我正在读取自定义模式中的hbase表,所有列的数据类型都是字符串。我希望将火花数据帧中的相同值解码为ASCII,并将该值替换为dataframe中列的前面编码的值。如何才能做到这一点?
数据值(输入):
rO0ABXQAUk9ybmF0ZSBlbWJlbGxpc2htZW50cyBwZXJmZ
WN0bHkgY29tcGxlbWVudCB0aGUgb2gtc28tY29tZm9ydGFibGUgcm9wZS1saWtlIGZvb3RiZWQ=ASCII值(所需产出):
tROrnate embellishments perfectly complement the oh-so-comfortable rope-like footbed发布于 2019-07-12 12:29:37
您可以在scala类中使用Java编码和解码apis
// Base64 encode
val text = "tROrnate embellishments perfectly complement the oh-so-comfortable rope-like footbed"
val bytesEncoded = java.util.Base64.getEncoder.encode(text.getBytes())
println(bytesEncoded)
// Base64 decode
val bytesToDecode="rO0ABXQAUk9ybmF0ZSBlbWJlbGxpc2htZW50cyBwZXJmZWN0bHkgY29tcGxlbWVudCB0aGUgb2gtc28tY29tZm9ydGFibGUgcm9wZS1saWtlIGZvb3RiZWQ="
val textDecoded = new String(java.util.Base64.getDecoder.decode(bytesToDecode))
println(textDecoded)https://stackoverflow.com/questions/57006725
复制相似问题