Databricks spark sql 显示散列字符串中的关联字符串
Databricks spark sql to show associated strings from hashed strings
我在数据块中使用这样的查询:
select * from thisdata where hashed_string in (sha2("mystring1", 512),sha2("mystring2", 512),sha2("mystring3", 512))
这很好用并为我提供了我需要的数据,但是有没有办法将关联的字符串显示为散列字符串?
例子
mystring1 - 1494219340aa5fcb224f6b775782f297ba5487
mystring2 - 5430af17738573156426276f1e01fc3ff3c9e1
可能不是因为有理由对其进行哈希处理,而是检查是否有办法。
如果您有 table 字符串和相应的哈希列,那么您可以执行内部联接而不是使用 IN 子句。加入后,使用concat_ws函数即可得到所需的结果。
比方说,您创建了一个名称为 hashtable
的 table,其中列 mystring 和 hashed_mystring 以及其他 table 名称为 maintable
。
您可以使用以下查询以所需格式连接和提取结果。
select concat_ws('-',h.mystring, m.hashed_string) from maintable m
inner join hashtable h on m.hashed_string = h.hashed_mystring
我在数据块中使用这样的查询:
select * from thisdata where hashed_string in (sha2("mystring1", 512),sha2("mystring2", 512),sha2("mystring3", 512))
这很好用并为我提供了我需要的数据,但是有没有办法将关联的字符串显示为散列字符串?
例子
mystring1 - 1494219340aa5fcb224f6b775782f297ba5487
mystring2 - 5430af17738573156426276f1e01fc3ff3c9e1
可能不是因为有理由对其进行哈希处理,而是检查是否有办法。
如果您有 table 字符串和相应的哈希列,那么您可以执行内部联接而不是使用 IN 子句。加入后,使用concat_ws函数即可得到所需的结果。
比方说,您创建了一个名称为 hashtable
的 table,其中列 mystring 和 hashed_mystring 以及其他 table 名称为 maintable
。
您可以使用以下查询以所需格式连接和提取结果。
select concat_ws('-',h.mystring, m.hashed_string) from maintable m
inner join hashtable h on m.hashed_string = h.hashed_mystring