csv - 将 CSV 导入谷歌云数据存储

标签 csv google-app-engine google-cloud-datastore google-cloud-dataflow

我有一个包含 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/

相关文章:

python - 谷歌应用引擎 NDB : How to store document structure?

带有 Google Cloud Datastore 的 Android 应用程序

google-app-engine - 从 Ubuntu 的 Google app-spot 上部署的 Google App Engine 应用程序获取日志

python - 在 CSV 中查找字符串的一部分并用新条目替换整个单元格?

Python:如何解析包含 NULL 值的 CSV 文件?

Python CSV跳过或删除第二行

django - 数据在表单发送时损坏,=\r\n 每 75 个字符在数据中引入一次?

python - 如何获取ndb.Model的 "id"属性

google-app-engine - 如何使用实体键在 GQL 中查询

SQL Loader 脚本帮助添加 SYSDATE、USER