作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将 HashMap 作为数据流管道中的侧输入传递。除了少数通过 String、Int 或 Long 的示例之外,我找不到任何示例。我的代码:
tagList = pipeline.apply(TextIO.Read.named("tagListTextRead").from("gs://mybucket/tag-list.json"));
PCollection<Map<String,TagObject>> tagMap = tagList
.apply(ParDo.named("allTagsToTagMap").of(new Tags.BuildTagListMapFn()));
PCollectionView<Map<String, TagObject>> tagMapView =
allTags.apply(View.<String, TagObject>asMap());
The method apply(PTransform<? super PCollection<Map<String,TagObject>>,OutputT>) in the type
PCollection<Map<String,TagObject>> is not applicable for the arguments
(View.AsMap<String,TagObject>)
最佳答案
根据您的管道的详细信息,这里有两个不同的答案。
PCollection<KV<K, V>>
那么你可以使用 View.asMap()
生产 PCollectionView<Map<K, V>>
.无需构建Map
你自己。 PCollection<Map<K, V>>
使用单个元素,则可以使用 View.asSingleton()
到侧面输入。 PCollectionView<Map<String, TagObject>> = pipeline
.apply("tagListTextRead", TextIO.Read.from("gs://mybucket/tag-list.json"))
.apply("tagsToKv", new Tags.TagToKvFunction())
.apply("viewTags", View.<String, TagObject>asMap())
PCollection<String> rawTags =
pipeline.apply("tagListTextRead", TextIO.Read.from("gs://mybucket/tag-list.json"))
PCollection<KV<String, TagObject>> kvs =
rawTags.apply("tagsToKv", new Tags.TagToKvFunction())
PCollectionView<Map<String, TagObject>> =
kvs.apply("viewTags", View.<String, TagObject>asMap())
关于google-cloud-dataflow - 如何在 Dataflow 中将 HashMap 作为侧输入传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40919758/
我是一名优秀的程序员,十分优秀!