在 Scalding Type Safe API 中有没有办法使用两个或多个 ValuePipes 映射 WithValue?
Is there a way in Scalding Type Safe API to mapWithValue with two or more ValuePipes?
使用 Scalding,类型安全 API,此代码有效,其中 dictForKeys
和 dictForValues
都是 ValuePipe[Map[String,String]]
:
SomeKeyValueTypedPipe
.mapWithValue(dictForKeys) { case ((key, value), dictForKeys) =>
(dictForKeys.get.getOrElse(key, key), value) }
.mapWithValue(dictForValues) { case ((key, value), dictForValues) =>
(key, dictForValues.get.getOrElse(value, value)) }
我只是想知道是否有更紧凑的编写方式,即仅使用 1 个 mapWithValue 步骤和 2 个单独的 ValuePipes。
您可以创建一个映射元组的 ValuePipe,例如 ValuePipe[(Map[String, String], Map[String, String])]
,然后像这样使用它:
SomeKeyValueTypedPipe
.mapWithValue(dict) { case ((key, value), (dictForKeys, dictForValues)) =>
(dictForKeys.get.getOrElse(key, key), dictForValues.get.getOrElse(value, value)) }
使用 Scalding,类型安全 API,此代码有效,其中 dictForKeys
和 dictForValues
都是 ValuePipe[Map[String,String]]
:
SomeKeyValueTypedPipe
.mapWithValue(dictForKeys) { case ((key, value), dictForKeys) =>
(dictForKeys.get.getOrElse(key, key), value) }
.mapWithValue(dictForValues) { case ((key, value), dictForValues) =>
(key, dictForValues.get.getOrElse(value, value)) }
我只是想知道是否有更紧凑的编写方式,即仅使用 1 个 mapWithValue 步骤和 2 个单独的 ValuePipes。
您可以创建一个映射元组的 ValuePipe,例如 ValuePipe[(Map[String, String], Map[String, String])]
,然后像这样使用它:
SomeKeyValueTypedPipe
.mapWithValue(dict) { case ((key, value), (dictForKeys, dictForValues)) =>
(dictForKeys.get.getOrElse(key, key), dictForValues.get.getOrElse(value, value)) }