performance - mlcp 对不同的输入目录路径执行不同
问题描述
我正在使用 mlcp v9.0.4 将数据加载到 MarkLogic v9.0.9 中,我试图弄清楚以下内容:
如果 csv 文件没有数据行并且只有列名,则永远不会加载该文件。我该如何克服这个并加载空文件?
当 input_file_path 是包含 csvs 的目录 vs input_file_path 是包含另一个目录的目录时,mlcp 的行为会有所不同。
例如:如果结构是/dir/dir1/*.csv
,则input_file_path=/dir/dir1/
加载速度比input_file_path=/dir/ [ with other options set to default ]
mlcp 在这里执行加载的逻辑是什么?我应该更改两种方式的任何选项以给我相同的结果吗?
对于第 1 点:
我可以在 csv 中添加一个空行并加载它,但我不想要这种方法。
我尝试使用转换模块,但这会减慢负载。
对于第 2 点:我一直在尝试通过更改 mlcp 选项 - 使用不同组合的 marklogic 文档中给出的 batch_size、split_size、max_split_size、thread_count、thread_count_per_split。但是,我想知道我是否只是在拐弯抹角。我想了解 mlcp 如何在后台处理输入。
对于第 2 点:对于 128GB RAM 服务器 - 以下是我尝试的详细信息
文件/目录结构:
/dir/dir1/1.csv - 4 MB
/dir/dir1/2.csv - 10 MB
/dir/dir1/3.csv - 400 MB
/dir/dir1/4.csv - 3000 MB
数据库配置:
forest policy - bucket
locking - off
journaling - fast
mlcp 的选项文件:
-generate_uri
true
-fast_load
true
-thread_count
32
-split_size
true
-max_split_size
94371840
-thread_count_per_split
1
-batch_size
100
-transaction_size
20
解决方案
对于第 1 点)加载没有数据行的文件会产生什么结果?考虑到数据模型是 1 CSV 'row' == 1 ML Document。0 CSV 数据“行”== ??? 文件?你期待一个数字!= 0?
对于第 2 点)您能否分享您所看到的性能差异?什么是“加载速度更快”,最终结果集是什么样的?
推荐阅读
- python-3.x - 使用问号的正则表达式
- javascript - 如何在组件中调用json数据
- c# - 在基于模板的文档信封上添加签名者
- spring-boot - Spring Boot + Ldap / AD + Kerberos SSO:KrbCryptoException - 校验和失败
- python-3.x - Python 的 ThreadPoolExecutor.submit() 在 windows 和 linux 中的工作方式不同
- python - 如何在pyProgress中按下取消按钮时设置它
- c# - 需要制作一个按钮来保存所有填写的文本框字段,以便我可以在需要时加载
- delphi - 从原始像素数据数组加载 TPicture
- tensorflow - 在神经网络框架中是否有前向映射/扭曲的实现?
- c++ - C++ setenv 解析其他变量