我正在寻找基于其功能和限制的DFA与NFA引擎之间差异的非技术性解释.
需要将具有100,000多条记录的单个文件中的数据加载到MySQL上的多个表中,以维护文件/表中定义的关系; 意味着关系已经匹配.该解决方案应该适用于最新版本的MySQL,并且需要使用InnoDB引擎; MyISAM不支持外键.
我是一个全新的使用Pentaho数据集成(aka Kettle),任何指针将不胜感激.
我可能会补充说,要求不禁用外键约束.由于我的理解是,如果数据库的引用完整性存在问题,MySQL将不会在重新打开外键约束时检查引用完整性.消息来源: 5.1.4.服务器系统变量 - foreign_key_checks
如果插入失败,或者无法保持参照完整性,则所有方法都应包括验证和回滚策略中的一些.
再次,对此全新,并尽力提供尽可能多的信息,如果您有任何问题或要求澄清 - 请告诉我.
如果您能够从超级的kjb和ktr文件(作业/转换)发布XML.甚至可能追捕你在任何地方所做的每一条评论/答案,然后投票给他们...... :-) ......真的,找到答案对我来说真的很重要.
谢谢!
示例数据:为了更好地举例说明,我们假设我正在尝试加载一个包含员工姓名的文件,他们过去占用的办公室以及用标签分隔的职位名称历史记录.
文件:
EmployeeName<tab>OfficeHistory<tab>JobLevelHistory
John Smith<tab>501<tab>Engineer
John Smith<tab>601<tab>Senior Engineer
John Smith<tab>701<tab>Manager
Alex Button<tab>601<tab>Senior Assistant
Alex Button<tab>454<tab>Manager
Run Code Online (Sandbox Code Playgroud)
注意:单表数据库是完全标准化的(可能只有一个表) - 例如,在"John Smith"的情况下,只有一个John Smith; 意味着没有重复会导致参照完整性的冲突.
该MyOffice数据库架构有如下表:
Employee (nId, name)
Office (nId, number)
JobTitle (nId, titleName)
Employee2Office (nEmpID, nOfficeId)
Employee2JobTitle (nEmpId, nJobTitleID)
Run Code Online (Sandbox Code Playgroud)
所以在这种情况下.表格应如下所示:
Employee
1 John Smith
2 Alex Button
Office
1 501
2 601
3 701
4 454
JobTitle
1 Engineer
2 …Run Code Online (Sandbox Code Playgroud) 看来除了通过VBA之外,excel中不支持正则表达式(如正则表达式中那样).是这样,如果是,是否有任何支持正则表达式的"开源"自定义VBA功能.在这种情况下,我希望在字符串中提取复杂模式,但是在函数本身中公开对正则表达式的支持的自定义VBA函数的任何实现都是有用的.如果您知道半功能函数(如IS函数),请感觉评论,但我真的在寻找通过函数公开的完整正则表达式实现.如果实施良好,甚至可能愿意使用加载项付费.
另外,我只是在Windows 7上使用Office 2010; 在看起来是一个很好的建议的答案结果不适用于Office 2010之后添加了此信息.
如果您有任何疑问,请发表评论.
以下是伪示例,不是真正的正则表达式,但仍然是我的意思的一个例子:
.* (anything)
-.* (NOT anything)
Run Code Online (Sandbox Code Playgroud)
[A-Z] (Any letter A to Z, caps only)
-[A-Z] (NOT any letter A to Z, caps only)
Run Code Online (Sandbox Code Playgroud)
编辑:在问题中将逆转换为补语.以下是改变的地方:"将任何正则表达式转化为自身的补充 "
是否可以获取字段的当前值,将其用作计算中的变量,然后根据结果更新字段?
例如,table1中ID为"1"的记录的值为"2"
SELECT table1
WHERE ID = "1"
SET RESULT to CurrentID
RESULT = CurrentID + 1;
Run Code Online (Sandbox Code Playgroud) 希望通过Perl脚本在远程计算机上执行perl脚本.出现一个选项是使用system()函数并创建一个ssh密钥,因此不需要密码.这引出了我对这个问题的关注,另一个选择似乎是安装和运行其中一个perl模块:
除了使用的协议,我还应该与这些Perl模块进行比较?
ActiveRecord如何推断来自单数(类)和复数(表)的映射,例如:
People = Person
Ducks = Duck
Geese = Goose
Categories = Category
Run Code Online (Sandbox Code Playgroud)
在概念上似乎是一个好主意,但不知道我是否必须映射单数(类)和复数(表)实例,或者如果ActiveRecord有些"神奇地"做这个.另外,似乎这可能会导致更多的开销,因为必须复制一个名称并不像添加"s"那么简单.
注意:在此处移动此问题的第二部分:ActiveRecord是否使用命名约定"ID"为每个表分配密钥,如果是,为什么?
如果是这样,请解释如何.
Re:什么是距离 - "两个字符串之间的距离定义为将一个字符串转换为另一个字符串所需的最小编辑数."
例如,xyz到XYZ将进行3次编辑,因此字符串xYZ更接近XYZ和xyz.
如果模式是[0-9] {3}或例如123,那么a23将比ab3更接近模式.
如何找到正则表达式与非匹配字符串之间的最短距离?
以上是Damerau-Levenshtein距离算法.
在Windows XP上,有没有办法:
然后,在全新安装的Windows XP上:
<!DOCTYPE html>
<meta charset="utf-8">
<body>
Hello, world!
Run Code Online (Sandbox Code Playgroud)
如果是这样,除了删除"你好,世界!" 是否有任何标签可以删除它仍然有效,你怎么知道它仍然有效?