【问题标题】:Titan 1.0.0 to Datastax Enterprise MigrationTitan 1.0.0 到 Datastax 企业迁移
【发布时间】:2023-03-30 12:29:01
【问题描述】:

我有一些在 Groovy 中编写的现有代码,用于通过 Cassandra + Elasticsearch 后端将数据摄取到 Titan。随着 Datastax Enterprise 5.0 的发布,我正在寻找是否可以迁移 Titan 的现有代码。

代码的主要用途是解析一些字段,转换一些值(例如:datetimestamp -> epoch),并在添加新边时检查边的唯一性(例如:'A likes Apples' 关系应该只即使原始文件中可能出现多个“A 喜欢苹果”关系,但在图表中出现一次)。

到目前为止我所尝试的:

  • 使用边标签多重性为单一(无属性)和顶点多重性为单一的 DSE 图形加载器:

    data = File.text(filepath).delimiter(',').header('a', 'b', 'c')
    load(data).asVertices { }
    load(data).asEdges { }
    

    使用此模板,顶点是唯一的(每个顶点标签一个顶点)。但是,模式中定义为单一的边缘标签将在每次尝试添加“相同”边缘时引发异常。是否可以在加载脚本中添加唯一性检查?

  • 通过 gremlin 控制台加载数据

    :load filepath
    

    我发现我的预先存在的代码在执行加载命令时抛出了很多异常。在删除了一些没有导入的 Java/Titan 类(TitanManagement、SimpleDateFormat 无法导入)后,我得到了一个

    org.apache.tinkerpop.gremlin.groovy.plugin.RemoteException
    

    关于让 gremlin-console 集成工作的任何提示?

最后一个问题:Datastax 收购 Titan 时是否删除了任何功能?

提前致谢!

【问题讨论】:

    标签: groovy datastax-enterprise titan gremlin datastax-enterprise-graph


    【解决方案1】:

    我们正在考虑对 Graph Loader 进行功能增强,以支持重复边检查。如果您的边只有单一基数,您可以使用边的基数属性 .single()

    对于第二个项目,您是否使用 DSE 提供的 Gremlin 控制台?您的控制台是本地的,您的集群是否位于另一台机器上?您的 Titan 环境的设置是什么?

    就上下文而言,DataStax 没有购买 Titan。 Titan 是一个开源图形数据库,并且仍然是一个开源图形数据库。 DataStax 收购了 Titan 的创建者 Aurelius 团队。 Aurelius 团队构建了一个新的图形数据库,该数据库的灵感来自于 Titan,并且与 TinkerPop 兼容。 DSE Graph 和 Titan 之间存在功能和实现细节差异,可以在这里找到 - http://docs.datastax.com/en/latest-dse/datastax_enterprise/graph/graphTOC.html

    您可能感兴趣的是 DSE Search 和 DSE Graph 的集成。

    【讨论】:

    • re: 单一基数:我已经尝试过了,但是当尝试添加“新边缘”时,它会产生唯一性异常。最后,没有添加任何边缘。是的,我正在使用 DSE 提供的 Gremlin 控制台——它目前是本地的。
    猜你喜欢
    • 2018-04-02
    • 2017-04-09
    • 2013-01-22
    • 2017-02-23
    • 2016-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    相关资源
    最近更新 更多