小编irr*_*ser的帖子

特性 `Borrow<String> 没有为 `&str` 实现

我正在尝试The Rust Programming Language书中的一些示例,并具有以下代码片段:

fn main() {
    let mut map: HashMap<&str, i32, RandomState> = HashMap::new();
    let hello: String = String::from("hello");
    map.insert(&hello, 100);
    println!("{:?}", map); //{"hello": 100}
    let first_hello_score: Option<&i32> = map.get("hello"); // This compiles
    let hello_score: Option<&i32> = map.get(&hello); // This does not compile
}
Run Code Online (Sandbox Code Playgroud)

在运行时cargo check,我看到:

error[E0277]: the trait bound `&str: Borrow<String>` is not satisfied
  --> src/main.rs:26:27
   |
26 |     let hello_score = map.get(&hello);
   |                           ^^^ the trait `Borrow<String>` is not implemented for `&str`

error: …
Run Code Online (Sandbox Code Playgroud)

rust

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

Spark Structured Streaming Writestream 到 Hive ORC 分区外部表

我正在尝试使用 Spark Structured Streaming - writeStreamAPI 写入外部分区 Hive 表。

CREATE EXTERNAL TABLE `XX`(
`a` string,
`b` string,
`b` string,
`happened` timestamp,
`processed` timestamp,
`d` string,
`e` string,
`f` string )
 PARTITIONED BY (
`year` int, `month` int, `day` int)      
 CLUSTERED BY (d)
INTO 6 BUCKETS
STORED AS ORC 
TBLPROPERTIES (
'orc.compress'='ZLIB',
'orc.compression.strategy'='SPEED',
'orc.create.index'='true',
'orc.encoding.strategy'='SPEED');
Run Code Online (Sandbox Code Playgroud)

在 Spark 代码中,

val hiveOrcWriter:   DataStreamWriter[Row] = event_stream
  .writeStream
  .outputMode("append")
  .format("orc")
  .partitionBy("year","month","day")
  //.option("compression", "zlib")
  .option("path", _table_loc)
  .option("checkpointLocation", _table_checkpoint)
Run Code Online (Sandbox Code Playgroud)

我看到在非分区表上,记录被插入到 Hive 中。但是,在使用分区表时,spark 作业不会失败或引发异常,但不会将记录插入到 Hive 表中。

感谢任何处理过类似问题的人的评论。 …

hive apache-spark orc hive-partitions spark-structured-streaming

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

在(Skey)的Seq上Scala groupby键总和值保持顺序

我正在尝试解决对scala元组进行分组和求和并维护键顺序的问题。

说,

val arrayTuples = Array((A, 38) , (B, 150), (B, 250), (B, 890), (D, 600), (C, 515))
Run Code Online (Sandbox Code Playgroud)

Map(A -> 38, B -> 1290, D -> 600, C -> 515)
Run Code Online (Sandbox Code Playgroud)

正在做:

val aMap = arrayTuples .groupBy(_._1)
Run Code Online (Sandbox Code Playgroud)

似乎搞乱了订购。帮助表示赞赏。

编辑:维护第一次遇到的顺序。

collections scala

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

Apache Kafka:消费者组复制

我想知道是否有一种快速的方法来复制 Kafka 消费者组。假设有一个消费者组:test_cosnumer_group_a我想要另一个test_consumer_group_b具有相同属性(主题、偏移量等)的消费者组

有没有一种简单的方法可以实现这一目标?

apache-kafka

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

Apache NIFI:从 Flowfile 存储库问题中恢复

我目前正在尝试从以下异常中恢复我的流量。

由于尚未写入标头,无法更新日志文件 /data/disk1/nifi/flowfile_repository/journals/90620570.journal,因此无法处理会话。;处理器管理性产生 1 秒:java.lang.IllegalStateException:无法更新日志文件 /data/disk1/nifi/flowfile_repository/journals/90620570.journal,因为尚未写入标头。

我已经看到了一些关于在 Nifi 中处理大文件的最佳实践的答案,但我的问题更多是关于如何从这个异常中恢复。我的观察是,一旦发现异常,它就会开始出现在我们 nifi 实例中所有流中的多个处理器中,我们如何在不重新启动的情况下恢复?

apache-nifi

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

Apache Nifi 1.7.1 使用分隔符压平 Json

我正在使用带有分隔符的 Flatten Json 处理器_,到目前为止,它可以很好地展平嵌套记录。但我也注意到它会干扰已经有“_”的键。例如:

{
"first_name": "myfirstname",
"last_name":  "mylastname",
"address": {
            "billing": "mybilling",
            "shipping": "myshipping"
           }
}
Run Code Online (Sandbox Code Playgroud)

展平为:

{
"[\"first_name\"]": "myfirstname",
"[\"last_name\"]":  "mylastname",
"address_billing": "mybilling",
"address_shipping": "myshipping"
 }
Run Code Online (Sandbox Code Playgroud)

同时,“ ”记录按预期被展平,具有字符address的键first_name和也受到干扰。有什么办法可以绕过这个吗?(也许是一种逃避非记录类型的方法?)last_name_

json jolt apache-nifi

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

如何获取 Kubernetes Pod 的状态历史记录/沿袭

我想知道是否有一个命令可以快速获取给定 Pod 的kubectl所有历史记录?STATUS

例如:假设一个 pod -my-test-podContainerCreatingRunning到:OomKillTerminating

我想知道是否有专家使用的命令来获取此谱系。赞赏一下。。

kubernetes kubectl

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

Apache Nifi 表达式语言 - toDate 格式

我正在尝试使用 Apache Nifi 表达式语言和替换文本处理器(正则表达式)格式化日期字符串。给定一个日期字符串

date_str : "2018-12-05T11:44:39.717+01:00", 
Run Code Online (Sandbox Code Playgroud)

我希望将其转换为:

correct_mod_date_str: "2018-12-05 10:44:39.717", 
Run Code Online (Sandbox Code Playgroud)

(注意日期如何转换为 UTC,并且字符“T”被空格替换。)

为此,我目前正在使用:

toDate("yyyy-MM-dd'T'HH:mm:ss.SSSSSSXXX"):format("yyyy-MM-dd HH:mm:ss.SSS", '+00:00')
Run Code Online (Sandbox Code Playgroud)

这很有效。

然而,当日期字符串的毫秒数为 6 位不是 3 位时,情况就会出现问题:

another_date_str: "2018-12-05T11:44:39.717456+01:00"
Run Code Online (Sandbox Code Playgroud)

转换为:

incorrect_mod_date_str: "2018-12-05 10:56:36.456"
Run Code Online (Sandbox Code Playgroud)

看来毫秒精度的前 3 位数字会干扰转换。

感谢解决此问题的意见 - 我缺少什么?

问候

datetime apache-nifi

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

关于 Scala Futures 的渴望

我一直试图理解为什么 Scala Futures 被认为是急切的并且违反了引用透明性。我想我理解这部分是合理的。但是,我无法理解这意味着什么:

(A => Unit) => Unit

关于未来。

我不确定这是否是正确的论坛,但感谢 ELI5 的回答

functional-programming scala future

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

将Array [Int]转换为Map [Int,Int]的Scala功能样式

我想将Array [Int]转换为Map [Int,Int],其中每个键是数组的元素,而各个值是数组中元素的索引。

Array(11, 12, 13) => Map((11,0), (12,1), (13,2))
Run Code Online (Sandbox Code Playgroud)

是否可以在不使用Mutable映射的情况下使用更具功能性的样式来执行此操作?

例如:

myArray.toMap(implicit def (... ))
Run Code Online (Sandbox Code Playgroud)

functional-programming scala

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