- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有两个表,一个包含大约 17K (NLIST
) 条记录,另一个包含 57K (FNAMES
) 条记录。
我想通过使用 levenshtein 公式比较记录来加入两者。
下面是表格内容的例子:
表NLIST
:
+------+-------------+
| ID | S_NAME |
+------+-------------+
| 1 | Avi |
| 2 | Moshe |
| 3 | David |
....
表FNAMES
:
+------+-------------+
| ID | NICKNAMES |
+------+-------------+
| 1 | Avile |
| 2 | Dudi |
| 3 | Moshiko |
| 4 | Avi |
| 5 | DAVE |
....
以上表格仅为示例。在实际情况下,名称列可以包含多个单词。
要求的结果应该是:
+------+-------------+--------+
| ID | NICKNAMES | S_NAME |
+------+-------------+--------+
| 1 | Avile | Avi |
| 2 | Dudi | David |
| 3 | Moshiko | Moshe |
| 4 | Avi | Avi |
| 5 | DAVE | David |
...
这是我使用的代码:
select FNAMES.NICKNAMES, NLIST.S_NAME
from NICKNAMES
LEFT OUTER JOIN NLIST
ON(true)
WHERE levenshtein (FNAMES.NICKNAMES, NLIST.S_NAME) <=4
上面的代码运行了很长时间,我停止了它的运行。
如何让它在合理的时间内运行?
另外,我认为 levenshtein
距离取决于单词的长度。我怎样才能找到距离的最佳值(在本例中我任意选择了 4)?
最佳答案
Hive
表性能取决于各个方面。
set hive.vectorized.execution.enabled = true;set hive.vectorized.execution.reduce.enabled = true;
如果你有好的服务器,你可以试试 Impala
,它肯定比 Hive
快。
您可以对 impala
进行微调,这将使您有优势更快地执行此查询。 Tuning Impala for Performance
关于hadoop - 通过 levenshtein 在 Hive 或 Impala 中加入的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42802959/
我看到这个链接影响 Impala version 1.1 : Since Impala 1.1, REFRESH statement only works for existing tables. F
Impala 是否重用 hive SQL 解析器? 我正在尝试编写一个自定义 Java 代码来检查我的应用程序中的查询正确性。我正在寻找一个可以使用 sql 查询的 api,并让我知道它在语法上对于
我正在使用 Impala JDBC 驱动程序(或者我猜它实际上是 Hive Server 2 JDBC 驱动程序)。我在另一个数据库中创建了一个 View ——我们称它为“store55”。 假设我的
如果我创建一个表,使用 Hive,在其中插入记录并首先在 Impala 中反射(reflect)同一个表,我必须运行 Invalidate Metadata,它反射(reflect)了执行程序上的元数
我如何以编程方式找到所有需要 INVALIDATE METADATA 语句的 Impala 表(因为它们是在 Hive 中创建的,但 Impala 尚不知道)或 REFRESH(因为列已添加、已添加数
with core as ( select t1.a, t1.b, t2.c from test_1 t1 join test_2 t2 on t1.a = t
对于Presto和Impala的区别,有没有专家能从这些角度给出一些简洁的回答? 基础架构设计 SQL 合规性 真实世界的延迟 任何 SPOF 或容错功能 结构化和非结构化数据使用场景表现 最佳答案
当我显示表格时,我在 Impala 中看到一个表格“测试”; 我想复制“test”表,使其完全相同,但命名为“test_copy”。我可以执行 impala 查询来执行此操作吗?如果没有,我该怎么做?
所有, 我是新手,很少尝试用例。 我在hdfs中有一个文件,想加载到impala表中。 -在hdfs上的文件位置:hdfs:// xxx / user / hive / warehouse / imp
由于未公开的原因,我的 Impala 没有安装 JDBC 驱动程序。这使得 connection from R to Impala具有挑战性的。 我能够通过 Putty 连接(和查询)到 Impala
在 impala 的官方文档中 here , statestore 组件有一条语句: If you issue a DDL statement while the statestore is down
Impala 确实支持 UDFs written in C++ or Java ,但我有一个由内置函数调用组成的简单公式。我需要在我的代码中使用很多次并且我不想重复它。 是否支持类似于以下伪代码的内容
我正在处理概念验证任务。任务是使用 Hadoop 技术实现我们产品的一项功能。 功能非常简单,我们有一个 UI,可让您插入有关“网络问题”的详细信息。有关此类问题的所有详细信息都被捕获并插入到 Ora
我们在产品上有 impala 服务器,我需要从本地 macbook w/mac os x (10.8) 使用 impala shell 连接到它。 我下载了Impala-cdh5.1.0-releas
我有两个 Java 中的 Hive UDF,它们可以工作在 Hive 中非常好。 这两个功能是互补的。 String myUDF(BigInt) BigInt myUDFReverso(String)
我在 Impala 中创建了一个外部表。我正在编写一个 shell 脚本,用于检查该表中是否存在特定的列。 我们可以使用以下查询在 MySql 中执行此操作。 SELECT * FROM inform
我是 Impala 的新手,我在 Impala 上做了一些测试用例。当我第二次调用时,我发现类似的 SQL 快得多。 例如: table1 = 4B 行 table2 = 5000 万行 第一次查询:
我对 impala 中的数据局部性有疑问,假设我有 10 个数据节点的集群(每个数据节点上都有 impalad),如果我在 impala 中执行查询 SELECT * FROM big_table w
Impala 中有没有一种方法可以确定 SHOW TABLES 返回的对象名称是否存在?对应于表或 View ,因为: 该语句只返回对象名称,不返回类型 SHOW CREATE VIEW只是 SHOW
我正在使用 Impala 并使用如下所示的某种模式从数据库中获取表列表。 假设我有一个数据库 bank , 该数据库下的表如下所示。 cust_profile cust_quarter1_transa
我是一名优秀的程序员,十分优秀!