当前位置:  开发笔记 > 运维 > 正文

Marklogic内容泵(MLCP)以静默方式忽略以下划线开头的文件

如何解决《Marklogic内容泵(MLCP)以静默方式忽略以下划线开头的文件》经验,为你挑选了1个好方法。

我正在尝试导入文档集合,其中一些文件以下划线开头.似乎Marklogic mlcp 8.0.4正在静默地跳过这些文件,即使Marklogic本身似乎对这样的文件名没有问题.

这是我正在使用的mlcp命令:

mlcp-8.0-4/bin/mlcp.sh import -host localhost -port 8012 -username xxxxx -password xxxx -mode local -input_file_path/Users/test/Downloads/tempfolder33/-output_uri_replace"^.*tempfolder33,''"

其中mlcp一直忽略"/Users/test/Downloads/tempfolder33/schemas/bwb/_manifest.xml"等文件名.

有关如何解决此问题的任何想法?



1> prker..:

MarkLogic使用hadoop-mapreduce-client-core库(org.apache.hadoop)来定义抽象的FileInputFormat类.此类使用始终处于活动状态的私有静态最终PathFilter hiddenFileFilter.此过滤器定义以"_"和"."开头的文件.隐藏,无论您自己定义的过滤器如何,都会自动跳过这些文件.

private static final PathFilter hiddenFileFilter = new PathFilter() {
    public boolean accept(Path p) {
        String name = p.getName();
        return !name.startsWith("_") && !name.startsWith(".");
    }
};

如果您精通Java,可以从https://developer.marklogic.com/products/mlcp下载mlcp源代码副本,并尝试从FileAndDirectoryInputFormat类的FileInputFormat类覆盖受保护的listStatus方法,以不包含hiddenFileFilter来自hadoop-mapreduce-client-core库的FileInputFormat类.

希望这可以帮助

彼得

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有