在 Hive 中如何从特定字符开始获取结果
Posted
技术标签:
【中文标题】在 Hive 中如何从特定字符开始获取结果【英文标题】:In Hive how to get result starting from particular character 【发布时间】:2017-07-01 16:18:03 【问题描述】:我正在学习 Hive。假设我有如下表格,
t1
id name
1 ram
2 rahim
3 yesudas
4 george
5 yogesh
现在我将在 sql 中编写,
select name
from t1
where name like 'r%'
这只会给出从 r 开始的名称结果,
id name
1 ram
2 rahim
如何在 Hive 中实现这一点。请帮助
【问题讨论】:
几乎相同的查询。只有你会引用你的 Hive 表。 请不要将 solved 附加到您的标题中。取而代之的是接受一个答案,该答案将告诉其他人问题现已解决。谢谢。 好的,请告诉我如何接受答案,我刚刚开始使用堆栈溢出。 【参考方案1】:表创建:
create table t1 (id int,name string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
STORED AS TEXTFILE;
查询:
select * from t1 where name like 'r%';
输出:
1 ram
2 rahim
【讨论】:
【参考方案2】:您可以运行相同的查询。
蜂巢>
CREATE TABLE t1(
id int,
name string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';
好的 耗时:0.625 秒
hive> load data local inpath '/home/amit/data.txt' into table t1;
将数据加载到表 eis_app.t1 表 eis_app.t1 统计信息:[numFiles=1,totalSize=44] 好的 耗时:1.22 秒
hive> select * from t1;
OK
1 ram
2 rahim
3 yesudas
4 george
5 yogesh
Time taken: 0.098 seconds, Fetched: 5 row(s)
hive> select * from t1 where name like 'r%';
OK
1 ram
2 rahim
Time taken: 0.107 seconds, Fetched: 2 row(s)
hive>
【讨论】:
亲爱的 Gordon,Amit 谢谢你的完美回答。我的问题已经解决了。以上是关于在 Hive 中如何从特定字符开始获取结果的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Hive 盒对象中获取密钥并将其映射到对象的特定字段?