小编Dhi*_*TdG的帖子

Java计数整数数组中每个元素的出现次数

我编写了以下代码片段来计算每个元素的出现次数.是否有可能以更短的方式实现这一目标?

int[] arr = {1, 6, 2, 8, 5, 4, 7, 7, 5, 7};
Arrays.stream(arr)
        .collect(ArrayList::new, ArrayList::add, ArrayList::addAll)
        .stream()
        .collect(Collectors.groupingBy(s -> s))
        .forEach((k, v) -> System.out.println(k+" "+v.size()));
Run Code Online (Sandbox Code Playgroud)

此外,我想只显示出现超过1次的元素.所以我尝试修改如下导致错误.

.forEach((k, v) -> if(v.size() > 1) System.out.println(k+" "+v.size()));
Run Code Online (Sandbox Code Playgroud)

这样做的正确方法是什么?

java java-8 java-stream

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

运行配置单元0.12,错误为slf4j

使用jar中的配置初始化日志:文件:/usr/local/hive/lib/hive-common-0.12.0.jar!/hive-log4j.properties

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/hadoop/share/hadoop/common/lib/slf4j-log4j12-    1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/hive/lib/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
Run Code Online (Sandbox Code Playgroud)

蜂巢>

java apache hive ubuntu-14.04

3
推荐指数
2
解决办法
7978
查看次数

Spark - 按键对DStream进行排序,并限制为5个值

我已经开始学习spark,我写了一个pyspark流程序来读取端口的库存数据(符号,体积)3333.

流式传输的示例数据 3333

"AAC",111113
"ABT",7451020
"ABBV",7325429
"ADPT",318617
"AET",1839122
"ALR",372777
"AGN",4170581
"ABC",3001798
"ANTM",1968246
Run Code Online (Sandbox Code Playgroud)

我想基于显示前5个符号volume.所以我用一个mapper来读取每一行,然后将它拆分comma并反转.

from pyspark import SparkContext
from pyspark.streaming import StreamingContext

sc = SparkContext("local[2]", "NetworkWordCount")
ssc = StreamingContext(sc, 5)

lines = ssc.socketTextStream("localhost", 3333)
stocks = lines.map(lambda line: sorted(line.split(','), reverse=True))
stocks.pprint()
Run Code Online (Sandbox Code Playgroud)

以下是输出 stocks.pprint()

[u'111113', u'"AAC"']
[u'7451020', u'"ABT"']
[u'7325429', u'"ABBV"']
[u'318617', u'"ADPT"']
[u'1839122', u'"AET"']
[u'372777', u'"ALR"']
[u'4170581', u'"AGN"']
[u'3001798', u'"ABC"']
[u'1968246', u'"ANTM"']
Run Code Online (Sandbox Code Playgroud)

我有以下功能,以显示股票代码,但不知道如何按键(volume)排序股票,然后限制功能只显示前5个值.

stocks.foreachRDD(processStocks)

def processStocks(stock):
    for st in stock.collect(): …
Run Code Online (Sandbox Code Playgroud)

apache-spark spark-streaming rdd pyspark

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

SPARK DataFrame:选择每组的前3行

我坚持使用与SPARK DataFrame类似的用例:选择每个组的第一行.唯一的区别是我需要选择每组的前3行.该agg功能允许我在功能的帮助下maxsort最初应用然后使用该first功能选择最高值.

有没有办法agg在做完后使用函数实现它groupby?如果没有,最好的方法是什么?

scala apache-spark apache-spark-sql spark-dataframe

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

Python:将元组追加到带有元组的集合中

以下是我的代码,它是一组元组:

data = {('A',20160129,36.44),('A',20160201,37.37),('A',20160104,41.06)};
print(data);
Run Code Online (Sandbox Code Playgroud)

输出: set([('A', 20160129, 36.44), ('A', 20160104, 41.06), ('A', 20160201, 37.37)])

我如何追加另一元组('A', 20160000, 22)data

预期产量: set([('A', 20160129, 36.44), ('A', 20160104, 41.06), ('A', 20160201, 37.37), ('A', 20160000, 22)])

注意:我发现有很多资源可以将数据追加到集合中,但是不幸的是,没有一个资源具有上述格式的输入数据。我想append|set功能,以及。

python set

0
推荐指数
2
解决办法
3862
查看次数