首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将bzip2输出传输到tdbloader2 (Apache),给出“文件不存在”

将bzip2输出传输到tdbloader2 (Apache),给出“文件不存在”
EN

Stack Overflow用户
提问于 2018-11-25 15:09:41
回答 1查看 118关注 0票数 0

我想通过管道将来自bzip2的输出作为输入来使用apache 3.9.0中的tbdloader2来填充TDB数据库。

我已经找到了Generating TDB Dataset from archive containing N-TRIPLES files,但是提议的解决方案对我没有用。

代码语言:javascript
复制
bzip2 -dc test.ttl.bz2 | tdbloader2 --loc=/pathto/TDBdatabase_test -- -

产生

代码语言:javascript
复制
20:08:01 INFO -- TDB Bulk Loader Start
20:08:01 INFO Data Load Phase
20:08:01 INFO Got 1 data files to load
20:08:01 INFO Data file 1: /home/user/-
File does not exist: /home/user/-
20:08:01 ERROR Failed during data phase

我得到了类似的结果(受https://unix.stackexchange.com/questions/16990/using-data-read-from-a-pipe-instead-than-from-a-file-in-command-options启发)

代码语言:javascript
复制
bzip2 -dc test.ttl.bz2 | tdbloader2 --loc=/pathto/TDBdatabase_test /dev/stdin 
20:34:45 INFO -- TDB Bulk Loader Start
20:34:45 INFO Data Load Phase
20:34:45 INFO Got 1 data files to load
20:34:45 INFO Data file 1: /proc/16256/fd/pipe:[92062]
File does not exist: /proc/16256/fd/pipe:[92062]
20:34:45 ERROR Failed during data phase

代码语言:javascript
复制
bzip2 -dc test.ttl.bz2 | tdbloader2 --loc=/pathto/TDBdatabase_test /dev/fd/0 
20:34:52 INFO -- TDB Bulk Loader Start
20:34:52 INFO Data Load Phase
20:34:52 INFO Got 1 data files to load
20:34:52 INFO Data file 1: /proc/16312/fd/pipe:[97432]
File does not exist: /proc/16312/fd/pipe:[97432]
20:34:52 ERROR Failed during data phase   

手动解压缩bz2文件,然后添加它,效果很好:

代码语言:javascript
复制
bzip2 -d test.ttl.bz2
tdbloader2 --loc=/pathto/TDBdatabase_test test.ttl

如果有人能给我指明正确的方向,那就太好了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-25 22:19:57

tdbloader2在命令行上接受bz2压缩文件:

代码语言:javascript
复制
tdbloader2 --loc=/pathto/TDBdatabase_test test.ttl.bz2

它不接受来自管道的输入-如果它接受了,那么它将不知道语法是Turtle,它从文件扩展名获得。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53468838

复制
相关文章

相似问题

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