小编d_l*_*_de的帖子

红宝石中两个哈希之间的变化

我有两个以下格式的哈希

mydetails[x['Id']] = x['Amount']
Run Code Online (Sandbox Code Playgroud)

这将包含像

hash1 = {"A"=>"0", "B"=>"1","C"=>"0", "F"=>"1"}
hash2 = {"A"=>"0", "B"=>"3","C"=>"0", "E"=>"1"}
Run Code Online (Sandbox Code Playgroud)

我期待输出类似于:

哈希的差异:"B,F,E"

很感谢任何形式的帮助.

ruby ruby-on-rails

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

在 spark 中使用 partitionBy 和合并

我需要根据特定Partition键将数据写入 s3 ,这可以通过使用write.partitionBy. 但是,在这种情况下,我只需要在每个路径中写入一个文件。我正在使用下面的代码来做到这一点。

    orderFlow.coalesce(1).write.partitionBy("SellerYearMonthWeekKey")
      .mode(SaveMode.Overwrite)
      .format("com.databricks.spark.csv")
      .option("delimiter", ",")
      .option("header", "true")
      .save(outputS3Path + "/")
Run Code Online (Sandbox Code Playgroud)

你能帮我找到实现这一目标的最佳方法吗?在上述情况下,我收到 OutOfMemory 错误。

scala apache-spark apache-spark-sql

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

编组后删除转义字符

在上面的代码中,我试图通过 Marshal 将我的密钥转换为字节数组。虽然我成功地做到了,但当我看到 Marshalled 字符串时,我\在 json 键之前看到了转义字符。你能帮我删除它吗?

 func GetBytes(key interface{}) ([]byte, error) {

    b, err := json.Marshal(key)
    if err != nil {
            return nil, err
    }

    log.Println("%%%%%%%%%%")
    log.Printf("%+v\n", key)
    log.Println("##########")
    log.Println(string(b));

    return b, nil
}
Run Code Online (Sandbox Code Playgroud)

电流输出:

%%%%%%%%%%
{"entityId":5010740929,"eventTime":1542706233458}
##########
"{\"entityId\":5010740929,\"eventTime\":1542706233458}"
Run Code Online (Sandbox Code Playgroud)

json marshalling go

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