我有一个包含 2 列和 20,000 行的 CSV 文件,我想导入到 Google Cloud Datastore 中。我是 Google Cloud 和 NoSQL 数据库的新手。我曾尝试使用数据流,但需要提供 Javascript UDF 函数名称。有没有人有这样的例子?一旦它在数据存储中,我将查询这些数据。
任何关于如何创建它的建议或指导将不胜感激。
最佳答案
使用 Apache Beam,您可以使用 TextIO
读取 CSV 文件。类(class)。见 TextIO文档。
Pipeline p = Pipeline.create();
p.apply(TextIO.read().from("gs://path/to/file.csv"));
接下来,应用将解析 CSV 文件中的每一行并返回
Entity
的转换。目的。根据您希望如何存储每一行,构建适当的 Entity
目的。 This page有一个如何创建 Entity
的示例目的。.apply(ParDo.of(new DoFn<String, Entity>() {
@ProcessElement
public void processElement(ProcessContext c) {
String row = c.element();
// TODO: parse row (split) and construct Entity object
Entity entity = ...
c.output(entity);
}
}));
最后,写下
Entity
对象到 Cloud Datastore。见 DatastoreIO文档。.apply(DatastoreIO.v1().write().withProjectId(projectId));
关于csv - 将 CSV 导入谷歌云数据存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48473024/