我有一个关于Java 8的问题.这是我的源代码:
final Consumer<String> d = e -> System.out.println(e);
final Function<String, String> upper = x -> x.toUpperCase();
final Function<String, String> lower = x -> x.toLowerCase();
new Thread(() -> d.accept(upper.apply("hello 1"))).run();
new Thread(() -> d.accept(lower.apply("hello 2"))).run();
Run Code Online (Sandbox Code Playgroud)
这非常有效并产生以下输出:
HELLO 1
hello 2
Run Code Online (Sandbox Code Playgroud)
我的问题是,现在如果以上语法d.accept和upper.apply是唯一可能的一个或如果有一些比较"的Java 8拉姆达"的风格,我们可以写的最后两行.
我正在使用 pyspark 2.3.1 并且想使用表达式而不是使用 udf 过滤数组元素:
>>> df = spark.createDataFrame([(1, "A", [1,2,3,4]), (2, "B", [1,2,3,4,5])],["col1", "col2", "col3"])
>>> df.show()
+----+----+---------------+
|col1|col2| col3|
+----+----+---------------+
| 1| A| [1, 2, 3, 4]|
| 2| B|[1, 2, 3, 4, 5]|
+----+----+---------------+
Run Code Online (Sandbox Code Playgroud)
下面显示的表达式是错误的,我想知道如何告诉 spark 从 col3 中的数组中删除任何小于 3 的值。我想要类似的东西:
>>> filtered = df.withColumn("newcol", expr("filter(col3, x -> x >= 3)")).show()
>>> filtered.show()
+----+----+---------+
|col1|col2| newcol|
+----+----+---------+
| 1| A| [3, 4]|
| 2| B|[3, 4, 5]|
+----+----+---------+
Run Code Online (Sandbox Code Playgroud)
我已经有一个 udf 解决方案,但速度很慢(> 10 亿数据行):
largerThan = F.udf(lambda …Run Code Online (Sandbox Code Playgroud) 我想在我的debian机器上安装Kubernetes:
Distributor ID: Debian
Description: Debian GNU/Linux 9.5 (stretch)
Release: 9.5
Codename: stretch
Run Code Online (Sandbox Code Playgroud)
看着google deb软件包存档,我只找到“ kubectl”的软件包,没有别的:
https://packages.cloud.google.com/apt/dists/kubernetes-stretch/main/binary-amd64/Packages
与ubuntu xenial相比,缺少许多软件包。有人可以这么客气,给我更多信息如何处理吗?是否可以在debian Stretch上安装kubeadm和kubelet?
https://kubernetes.io/docs/setup/independent/install-kubeadm/#installing-kubeadm-kubelet-and-kubectl
提前非常感谢您!
我正在寻找一个模拟tcp/ip服务器的软件.我需要的是一个易于使用的工具(可能需要花费一些东西),我可以用它来充当服务器,我可以用一些约束来定义协议流,例如执行以下流程:
有人可以给我一个提示吗?我正在寻找准备使用的软件,而不是库等.它可能适用于Linux或Windows系统.
非常感谢你,
马切伊
apache-spark ×1
java ×1
java-8 ×1
kubernetes ×1
lambda ×1
pyspark ×1
pyspark-sql ×1
sockets ×1
tcp ×1
unit-testing ×1