【发布时间】:2019-04-19 17:05:58
【问题描述】:
我需要一些关于如何解决这个问题的指导。
我在 Oracle 中继承了这个数据集。我需要找到一种方法将这 3 个表合并为一个表。为什么?合规和欺诈检查。我们正在接受审计,我别无选择,只能遵守。
这些表有数百万条记录。 6900万。七百万,四百万。如果我尝试使用 contains、instr 或 like 来连接和搜索,我会创建笛卡尔连接(我认为),它会很慢。
我该如何处理?数据用方括号格式化,如图所示。我曾考虑将这些表拉入 pandas 并使用 python 来得到答案。
【问题讨论】:
-
生成的表格应该是什么样子?
Concat_identifier_plate的格式是什么? -
concat_identifier_plate的格式可以是一个人或一个团队的标识符号,也可以是2个人,一条鱼。在某些地方确实令人费解。
-
嗯,我认为这无论如何都会很慢,一个人有多个用餐和团队,这可能会导致组合数量不可预测地增加。顺便问一下,为什么样本结果中出现了重复的“George”记录?
-
因为 George 和 Jenny 都出现在同一个团队字符串中。老实说,这是一个混乱的问题。我正在考虑首先按表格解构数据,然后再次缝合。可能没有一个简单的答案。
-
这可能是个好主意。我也将从将连接的字符串拆分为数字 id 开始。这应该是相对微不足道的(例如
select to_number(regexp_substr(concat_identifier_partner, '[0-9]+', 1, 1)) as first_person_id from teams))
标签: python oracle pandas plsql