Sql 散列用户ID';s并创建临时表
我试图提取样本数据,但需要屏蔽/散列Sql 散列用户ID';s并创建临时表,sql,apache-zeppelin,Sql,Apache Zeppelin,我试图提取样本数据,但需要屏蔽/散列用户ID。我需要先构建一个临时表,因为我在Zeppelin中工作,输出被截断,所以我要构建一个临时表,以便可以从第三方工具(Razor SQL)查询数据 下面是我用来屏蔽/散列用户ID的内容: CREATE TABLE user.temp_userdata_hashed AS SELECT *, md5(concat(userid, 'useridGUI')) as userid FROM medicaldata 这在不使用CREATE TABLE的情况下有
用户ID
。我需要先构建一个临时表,因为我在Zeppelin中工作,输出被截断,所以我要构建一个临时表,以便可以从第三方工具(Razor SQL)查询数据
下面是我用来屏蔽/散列用户ID的内容:
CREATE TABLE user.temp_userdata_hashed AS
SELECT *, md5(concat(userid, 'useridGUI')) as userid
FROM medicaldata
这在不使用CREATE TABLE的情况下有效,但当我包含CREATE TABLE时,会出现以下错误:
与其列出这个表中的每一列(我需要它们全部),还有什么方法可以解决这个问题吗?老实说,我的建议是明确说明您需要的列。但是,如果您确实想使用*,那么实际上只有一种解决方法。这两种方法都让您按照查询中的指定创建表,但对userid散列使用不重复的列名除外,如下面的示例所示
CREATE TABLE user.temp_userdata_hashed AS
SELECT *, md5(concat(userid, 'useridGUI')) as useridhash
FROM medicaldata
创建临时表后,可以使用ALTER table命令删除原始的userid列,然后将useridhash重命名为userid。然后,在使用SELECT查询临时表时,可以继续使用* 是的,这就是我最后要做的,但我想知道是否有其他方法可以解决这个问题。
CREATE TABLE user.temp_userdata_hashed AS
SELECT *, md5(concat(userid, 'useridGUI')) as useridhash
FROM medicaldata