hadoop - 如何将没有任何分隔符的字符串转换为逗号分隔的字符串?

标签 hadoop mapreduce hive apache-pig

我有一个文件 details.txt,其中存储的数据就是这种格式

        "571955NandhithaF1975-12-222011-12-06Mumbai"    

列是前六位唯一标识, 姓名、(男/女)性别、出生日期、入职日期和地点 我必须使用逗号分隔符将其分成六列!! 请帮我解决这个问题

最佳答案

将每一行传递给包含以下逻辑的正则表达式函数:

    String expression = "571955NandhithaF1975-12-222011-12-06Mumbai";

    Pattern pattern = Pattern
            .compile("([0-9]{6})([a-zA-Z]+)([M|F])([0-9]{4}-[0-9]{2}-[0-9]{2})([0-9]{4}-[0-9]{2}-[0-9]{2})([a-zA-Z0-9]+)");
    Matcher matcher = pattern.matcher(expression);
    if (matcher.find()) {
        //System.out.println(matcher.group());
        System.out.println(matcher.group(1));
        System.out.println(matcher.group(2));
        System.out.println(matcher.group(3));
        System.out.println(matcher.group(4));
        System.out.println(matcher.group(5));
        System.out.println(matcher.group(6));
    }

输出:

571955
Nandhitha
F
1975-12-22
2011-12-06
Mumbai

关于hadoop - 如何将没有任何分隔符的字符串转换为逗号分隔的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38762950/

相关文章:

hadoop - 在 Hive 上交叉应用 SQL Server 查询

java - MapReduce程序中的XMLParser失败,并显示以下消息:实体名称必须立即在实体引用中的 '&'之后。

hadoop - yarn Spark 作业调度较慢

hadoop - hive :如何处理scd类型2而无需更新

xml - 使用 Hadoop MapReduce 处理 XML

java - Hadoop:mapred.LocalJobRunner:MissingResourceException

java - Hadoop mapReduce 如何在 HDFS 中只存储值

mongodb - 将数据移出 Hive 并移入 MongoDB 的最有效方法是什么?

hadoop - Hive 理解表创建

hadoop - 亚马逊 : setup credentials to S3 when using elastic-mapreduce with pig-interactive