小编Sha*_*arg的帖子

匿名类上的NotSerializableException

我有一个过滤项目的界面:

public interface KeyValFilter extends Serializable {
    public static final long serialVersionUID = 7069537470113689475L;
    public boolean acceptKey(String iKey, Iterable<String> iValues);
    public boolean acceptValue(String iKey, String value);
}
Run Code Online (Sandbox Code Playgroud)

以及包含类型成员的类KeyValFilter.

public class KeyValFilterCollector extends KeyValCollectorSkeleton {
    private static final long serialVersionUID = -3364382369044221888L;
    KeyValFilter filter;
    public KeyValFilterCollector(KeyValFilter filter) {
        this.filter=filter;
    }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试KeyValFilterCollector使用匿名类实现时KeyValFilter:

new KeyValFilterCollector(new KeyValFilter() {
        private static final long serialVersionUID = 7069537470113689475L;
        public boolean acceptKey(String iKey, Iterable<String> iValues) {
            for (String value : iValues) …
Run Code Online (Sandbox Code Playgroud)

java serialization hadoop interface anonymous-class

16
推荐指数
2
解决办法
6597
查看次数

如何从文件加载bash命令历史记录

我正在从一个服务器移动到另一个服务器,但是想保留我的历史记录,所以我将它转储到一个文件中.

history> file.txt

有没有办法覆盖命令 - bash的历史记录并从文件中加载它?

unix bash shell command-line history

15
推荐指数
1
解决办法
3960
查看次数

使用oozie工作流程启动火花程序

我正在使用一个使用spark包的scala程序.目前我使用来自网关的bash命令运行程序:/ homes/spark/bin/spark-submit --master yarn-cluster --class"com.xxx.yyy.zzz"--driver-java-options" - Dyyy.num = 5"a.jar arg1 arg2

我想开始使用oozie来运行这份工作.我有一些挫折:

我应该在哪里放置spark-submit可执行文件?在hfs?如何定义火花动作?应该在哪里出现--driver-java-options?oozie动作应该如何?它出现在这里类似吗?

workflow scala oozie apache-spark

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

Pig:使用外部模式文件加载数据文件

我有一个数据文件和相应的模式文件存储在不同的位置.我想使用模式文件中的模式加载数据.我试过用

A= LOAD '<file path>' USING PigStorage('\u0001') as '<schema-file path>' 
Run Code Online (Sandbox Code Playgroud)

但得到一个错误.

正确加载文件的语法是什么?

模式文件格式如下:

data1 - complex - - - - format - -
data1 event_type - - - - - long - "ends '\001'"
data1 event_id - - - - - varchar(50) - "ends '\001'"
data1 name_format - - - - - varchar(10) - "ends newline"
Run Code Online (Sandbox Code Playgroud)

schema load apache-pig gruntjs

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

Python 相当于 java-streams 管道

我主要用Java编程,我发现对于数据分析Python更方便。我正在寻找一种与java流等效的管道操作方法。例如,我想做类似的事情(我混合了java和python语法)。

(key, value) = Files.lines(Paths.get(path))
   .map(line -> new Angle(line))
   .filter(angle -> foo(angle))
   .map(angle -> (angle, cosine(angle)))
   .max(Comparator.comparing(Pair::getValue)
Run Code Online (Sandbox Code Playgroud)

在这里,我从文件中获取线列表,将每条线转换为角度对象,通过某个参数过滤角度,然后创建对列表,最后找到最大对。另外可能还有多个附加操作,但要点是这是一个将一个操作的输出传递到下一个操作的管道。

我了解 python 列表理解,但是它们似乎仅限于单个“映射”和单个“过滤器”。如果我需要使用理解来传输多个映射,则表达式很快就会变得复杂(我需要将一个理解放在另一个理解中)

python 中是否有一种语法结构允许在一个命令中添加多个操作?

python list-comprehension pipe java-stream

4
推荐指数
1
解决办法
2085
查看次数

如何获得indexOf多个分隔符?

我正在寻找一种优雅的方法来找到一组分隔符之一的第一个外观.

例如,假设我的分隔符集由{";",")","/"}.

如果我的字符串是
"aaa/bbb;ccc)"
我想得到结果3(索引"/",因为它是第一个出现).

如果我的字符串是
"aa;bbbb/"
我想得到结果2(索引";",因为它是第一个出现).

等等.

如果String不包含任何分隔符,我想返回-1.

我知道我可以通过首先找到每个分隔符的索引,然后计算索引的最小值,忽略它们来做到这一点-1.这段代码变得非常麻烦.我正在寻找一种更短,更通用的方式.

java regex string indexof

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

CDI 依赖注入可以是可选的吗?

在 Spring DI 中,将自动装配字段声明为 Optional 使客户端不会向其注入任何值。这可以使用 Java EE 的 CDI 吗?我试过 Optional 但它失败了。我想知道是否有我可以使用的等效机制。

这是我尝试过的:

public class OmeletteMaker implements EggMaker{
        public static void main(String[] args){
        WeldContainer container = new Weld().initialize();
        OmeletteMaker omeletteMaker = container.instance().select(OmeletteMaker.class).get();
    }

    @Inject
    Optional<Vegetable> vegetable;
}
Run Code Online (Sandbox Code Playgroud)

我收到一条错误消息:线程“main”org.jboss.weld.exceptions.DeploymentException 中的异常:WELD-001408 Unsatisfied dependencies for type [Optional] with qualifiers [@Default] at injection point [[BackedAnnotatedField] @Inject cafeteria.OmeletteMaker 。蔬菜]

dependency-injection cdi

0
推荐指数
1
解决办法
639
查看次数