热门
BASE64和其他相似的编码 算法 通常用于转换二进制数据为文本数据,其目的是为了简化存储或传输。更具体地说,BASE64算法主要用于转换二进制数据为ASCII字符串格式。
下面我们通过阿里云MaxCompute 和大数据开发套件,引用第三方的Base64 JAR,来实现字符串的编码、解码;
效果如下:
---base64编码 select id,encode_base64('liuxiaowen1234') from alian.user_info limit 1; bGl1eGlhb3dlbjEyMzQ= ---base64解码 select id,decode_base64('bGl1eGlhb3dlbjEyMzQ=') from alian.user_info limit 1; liuxiaowen1234
实验环境阿里云大数据开发套件
接下来,我们看一下实现方法。
准备工作:
下载安装Eclipse;
开通阿里云MaxCompute ,参考: https://help.aliyun.com/document_detail/27815.html
注册Accesskey,参考: https://help.aliyun.com/document_detail/27803.html ;
开始实验:
1、首先在Eclipse创建你的项目,下载并配置好MaxCompute UDF插件环境
2、把附件的base64.jar加载到lib中
package com.yinlin.udf; import com.aliyun.odps.io.Text; import com.aliyun.odps.udf.UDF; import com.snda.base64.*; public class DecodeBase64 extends UDF{ Text result = new Text(); public DecodeBase64() { public String evaluate(String str){ if (str == null || str.equals("")) { return null; try { byte[] b = str.getBytes(); result.set(Base64.decodeBase64(b)); } catch (Exception e) { e.printStackTrace(); return null; return result.toString(); 4、导出新的JAR,命名为MaxCompute_Base64.jar;下载地址:https://yq.aliyun.com/attachment/download/?spm=0.0.0.0.AR40XR&filename=MaxCompu...[%E9%9A%90%E6%9E%97].1501763771.zip 5、打开已开通注册的大数据开发套件,进入yinlin Project(你注册的项目名称); 6、上传两个JAR,MaxCompute_Base64.jar,base64.jar; 7、分别注册encode64、decode64函数,注意:同时引用刚才导入的两个JAR,否则会因找不到第三方JAR编码失败。 8、输入MaxCompute SQL,完成Base64编解码实验。 ---base64编码 select id,encode_base64('liuxiaowen1234') from alian.user_info limit 1; ---base64解码 select id,decode_base64('bGl1eGlhb3dlbjEyMzQ=') from alian.user_info limit 1; 阿里巴巴大数据-玩家社区 https://yq.aliyun.com/teams/6/ ---阿里大数据博文,问答,社群,实践,有朋自远方来,不亦说乎……
4、导出新的JAR,命名为MaxCompute_Base64.jar;下载地址:https://yq.aliyun.com/attachment/download/?spm=0.0.0.0.AR40XR&filename=MaxCompu...[%E9%9A%90%E6%9E%97].1501763771.zip
5、打开已开通注册的大数据开发套件,进入yinlin Project(你注册的项目名称);
6、上传两个JAR,MaxCompute_Base64.jar,base64.jar;
7、分别注册encode64、decode64函数,注意:同时引用刚才导入的两个JAR,否则会因找不到第三方JAR编码失败。
8、输入MaxCompute SQL,完成Base64编解码实验。
---base64编码 select id,encode_base64('liuxiaowen1234') from alian.user_info limit 1; ---base64解码 select id,decode_base64('bGl1eGlhb3dlbjEyMzQ=') from alian.user_info limit 1;
阿里巴巴大数据-玩家社区 https://yq.aliyun.com/teams/6/
---阿里大数据博文,问答,社群,实践,有朋自远方来,不亦说乎……