首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用标头和TigerGraph加载INPUT_LINE_FILTER数据

使用标头和TigerGraph加载INPUT_LINE_FILTER数据
EN

Stack Overflow用户
提问于 2021-12-17 21:18:40
回答 2查看 136关注 0票数 0

我正在尝试创建一个TigerGraph加载作业,以使用标题行中的列名,而不是$1、$2等位置参数。为了使用TigerGraph服务器外部的文件,我认为需要指定标题和INPUT_LINE_FILTER,并在加载作业中使用它们。但是,我无法在TigerGraph文档中找到任何示例。我下面的尝试现在起作用了。

任何帮助都是非常感谢的。

代码语言:javascript
复制
result = conn.gsql('''
USE GRAPH MyGraphCopy 

BEGIN
CREATE LOADING JOB load_persons_byname FOR GRAPH MyGraphCopy {
      DEFINE FILENAME MyDataSource;
      DEFINE HEADER MyHeader = "id","name","email","username","created_at","v_id";
      DEFINE INPUT_LINE_FILTER reject_header = ( "created_at " = "created_at");
      LOAD MyDataSource TO VERTEX Person VALUES($"v_id", $"name", $"email", $"username", $"created_at") USING SEPARATOR=",", HEADER="true", USER_DEFINED_HEADER=MyHeader, REJECT_LINE_RULE=reject_header, EOL="\n", QUOTE="double";
    }
END
''')
EN

回答 2

Stack Overflow用户

发布于 2021-12-20 19:41:23

尝试删除DEFINE HEADERDEFINE INPUT_LINE_FILTER行。如果您正在从CSV中读取,那么只需使用header="true";这应该足以获得列名的引用,而无需执行任何其他操作。

此外,请确保指定要作为MyDataSource使用的文件的名称和位置。下面是一个示例,其中文件名为file1

代码语言:javascript
复制
CREATE LOADING JOB load_social FOR GRAPH social {
   DEFINE FILENAME file1="/home/tigergraph/personAndFriendship.csv";

   LOAD file1 TO VERTEX person VALUES ($"name", $"name", $"age", $"gender", $"state") WHERE NOT ($"age" IS EMPTY) USING header="true", separator=",";
   LOAD file1 TO EDGE friendship VALUES ($0, $1, $5) USING header="true", separator=",";
}

另外,请参见正式的TG加载作业文档

票数 0
EN

Stack Overflow用户

发布于 2022-02-09 21:31:18

这就是我能让它开始工作的方法。

代码语言:javascript
复制
USE GRAPH MyGraph

BEGIN
CREATE LOADING JOB load_persons_byname FOR GRAPH MyGraphCopy {
      DEFINE FILENAME MyDataSource;
      DEFINE HEADER MyHeader = "id","name","email","username","created_at","v_id";
      DEFINE INPUT_LINE_FILTER reject_header = ( $4 == "created_at");
      LOAD MyDataSource TO VERTEX Person VALUES($"v_id", $"name", $"email", $"username", $"created_at") USING SEPARATOR=",", HEADER="true", USER_DEFINED_HEADER="MyHeader", REJECT_LINE_RULE=reject_header, EOL="\n", QUOTE="double";
    }
END
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70398992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档