type
status
date
slug
summary
tags
category
icon
password
comment
这里写文章的前言:
一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。
可以说说你的故事:阻碍、努力、结果成果,意外与转折。
📝 主旨内容
扁平化处理
1.需求
我有一个字段ad_10h_qWeTsu,其值示例如下:人名_Wolfgang||地名_Berlin||人名_Jack,要求使用SQL分割成如下形式,行数不一:
type | word |
人名 | Wolfgang |
地名 | Berlin |
人名 | Jack |
- 代码
- 解释
SELECT *, SPLIT(info_yzy, '_')[0] AS type, SPLIT(info_yzy, '_')[1] AS word
: 这部分代码选取了表中所有列,并且利用SPLIT
函数将info_yzy
字段的值按照下划线_
进行分割,然后取出分割后数组的第一个元素作为type
,第二个元素作为word
。FROM dmp_table_col_203
: 这部分指定了查询的来源,即数据所在的表为dmp_table_col_203
。LATERAL VIEW explode(split(ad_10h_qWeTsu, '\\|\\|')) exploded AS info_yzy
: 这一行代码将字段ad_10h_qWeTsu
按照||
为分隔符进行分割,并使用explode
函数将每个子串展开为一行,然后将展开后的结果列命名为info_yzy
,以便后续使用。
这段代码的目的是从
dmp_table_col_203
表中选择所有列,并将其中名为info_yzy
的字段的值拆分为type
和word
两部分。字段info_yzy
的值是以||
为分隔符的字符串,每个子串都包含一个type
和一个word
,它们用下划线_
分隔。现在来逐步解释代码:
总体来说,这段代码的作用是将表中的一行数据拆分为多行,每一行包含了原始数据的所有列,并且增加了两列
type
和word
,这两列分别对应了字段info_yzy
中每个子串的type
和word
。创建mysql表语句
- 要求根据以下字段创建mysql表
字段名称 | 字段类型 | 字段长度 | 备注 | 不为空 |
id | INT | ㅤ | 主键 | ☑ |
phone_number | VARCHAR | 128 | 号码,包含国家码,多个用逗号拼接,最多5个号码 | ☑ |
name | VARCHAR | 64 | 名称 | ☐ |
type | TINYINT | ㅤ | 号码类型:1=服务商/公司公用电话,2=诈骗电话,3=广告推销电话,99=其它 | ☐ |
remark | TEXT | ㅤ | 备注 | ☐ |
create_time | BIGINT | ㅤ | 创建时间 | ☑ |
modify_time | BIGINT | ㅤ | 更新时间 | ☑ |
- 代码
- 在天基上创建资源表
创建hive表
- 代码
- 数据表、资源库创建
🤗 总结归纳
总结文章的内容
📎 参考文章
- 一些引用
- 引用文章
有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~