小编Ano*_*ous的帖子

Apache Nifi执行进程处理器

我正在尝试使用Apache Nifi实现下面的工作流程:

  1. ExecuteSQL - 这是以avro格式从oracle数据库获取数据
  2. PutHDFS - 这是将数据放入hdfs
  3. ExecuteProcess - 此处理器在后台执行bash脚本,后者又创建外部配置单元表

我有几个问题:

Apache Nifi中的ExecuteProcess处理器是否接收传入的流文件?

我无法为ExecuteProcess处理器提供任何incomming流文件.如果没有,有没有办法支持传入流文件?

apache-nifi

6
推荐指数
1
解决办法
5210
查看次数

字符串生成器到java中的字符串数组

我试图在java中将String builder转换为String数组。我已经习惯于String方法将Stringbuilder转换为String,然后使用split方法将其转换为String数组。

我在数组大小方面遇到了一些问题。字符串生成器的输出如下:0,,1,,,,,,,,,,2,,,。实际上它包含15个元素,但它显示stringbuilder的大小为18。转换为String数组后,它显示大小为13。

我做错方法了吗?是否有其他方法可以将 String builder 转换为 String Array?

StringBuilder output = new StringBuilder();

for (String str : listToSearch) {
    int index = findIndex(headerArrayList, str);
    if (index > -1) {
        output.append(index);
    } else {
        output.append(str);
    }
    output.append(",");
}

String out = output.toString();
String[] destIndexArray = out.split(",");
Run Code Online (Sandbox Code Playgroud)

findIndex方法:

private static int findIndex(List<String> headerList, String element) {
    for (int i = 0; i < headerList.size(); i++) {
        if (headerList.get(i).equals(element)) {
            return i;
        }
    } …
Run Code Online (Sandbox Code Playgroud)

java arrays stringbuilder

5
推荐指数
1
解决办法
2万
查看次数

如何通过在java lambda表达式的列表中的每个第3个元素之后添加新行来打印列表?

假设我有一个列表如下

Collection<?> mainList = new ArrayList<String>();
mainList=//some method call//
Run Code Online (Sandbox Code Playgroud)

目前,我将列表中的元素显示为

System.out.println(mainList.stream().map(Object::toString).collect(Collectors.joining(",")).toString());
Run Code Online (Sandbox Code Playgroud)

我得到了结果

a,b,c,d,e,f,g,h,i
Run Code Online (Sandbox Code Playgroud)

如何通过在java中的列表中的每个第3个元素之后添加新行来打印此列表,以便它将打印结果如下所示

a,b,c
d,e,f
g,h,i
Run Code Online (Sandbox Code Playgroud)

注意:这类似于如何在java中的arraylist中的每个第3个元素之后添加换行符?但是在阅读时自己完成了格式化文件.我想在打印输出时这样做.

java lambda arraylist java-8

3
推荐指数
1
解决办法
2833
查看次数

标签 统计

java ×2

apache-nifi ×1

arraylist ×1

arrays ×1

java-8 ×1

lambda ×1

stringbuilder ×1