在Java中如何使用spark来解析eml邮件? 如何使用spark来解析出eml,获取邮件中主题,正文,附件,我在Google中都没有查到相关的例子,我现在已经读取文件,该如何在map中进行解析操作? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你不应该用sc.textFile读取文件,否则rdd每条记录对应的是文件的一行,这样你没法关联每个邮件想解析的字段。应该是JavaPairRDD<String,String> emls = sc.wholeTextFile("/path/to/all/eml/dir/");其中key是文件名,value是文件内容然后emls.map(),对value进行解析。eml内容如何解析,自己根据eml的格式去处理。本身格式是不难的,网上应该有eml格式的解释。例如我随便找了我邮箱一封邮件做例子:其中中文内容,是base64编码,字符集gb18030。具体解析方法:byte[] decode = Base64.decode(rawText);String clearText = new String(decode,"gb18030");这个只是举例说明,其他自己慢慢摸索吧 关于网站统计问题 关于jsf的jsp界面报错的问题 谁有ftp上传文件的例子 tomcat 的问题 jconfig无法获取U盘信息 菜鸟来送分了,tomcat的小问题 哭,spring+hibernate更新不了数据,help me. 大家好,有谁用过JEditorPane控件,为什么下面的html代码用JEditorPane显示不了? 做struts的HelloWorld还是有问题!愁!!! 初学问问 javaee并发修改异常 JDBC中的一个小问题
其中key是文件名,value是文件内容
然后emls.map(),对value进行解析。
eml内容如何解析,自己根据eml的格式去处理。本身格式是不难的,网上应该有eml格式的解释。
例如我随便找了我邮箱一封邮件做例子:其中中文内容,是base64编码,字符集gb18030。具体解析方法:byte[] decode = Base64.decode(rawText);
String clearText = new String(decode,"gb18030");这个只是举例说明,其他自己慢慢摸索吧