gpt4 book ai didi

python - Hive查询使用Python返回空白,但直接查询时没有问题

转载 作者:行者123 更新时间:2023-12-02 20:47:01 25 4
gpt4 key购买 nike

直接查询(Hue,MobaXterm(SSH),Aqua Data Studio(JDBC))时,q内的查询工作完美,但是当我尝试通过PyHive运行它时,regex语句部分不起作用:

from pyhive import hive
import pandas as pd

conn = hive.Connection(host="", port=10000, username="")
q= '''
select evar43, user_id, pagename,
REGEXP_EXTRACT(split(evar43,';')[0], 'age=(\\d+)', 1) as age
from hit_data_raw
where evar43<>'' and user_id<>''
and pagename like 'tools|tools|tool%'
limit 50
'''
df = pd.read_sql(q , conn)

print(df)

虽然 split(evar43,';')[0]确实为我提供了预期的 age=56类型的结果,但由于某种原因,整个 regex()命令给出的结果为空,因此 age返回为空。重申一下,如果直接查询q并返回正确的结果,则查询q的内容非常有效。

这是表格格式:
pagename   user_id   evar43
Tool 2 2174246 age=56;ret=65;sav=500000;desinc=100000
Tool 1 2425226 age=53;ret=65;sav=800000;desinc=100000
Tool 2 2427115 age=59;ret=65;sav=250000;desinc=100000
Tool 1 620071 age=50;ret=65;sav=250000;desinc=100000

您能协助纠正和解释这种情况的原因吗?谢谢!

最佳答案

我需要的只是年龄内的\\ = \\ d +

关于python - Hive查询使用Python返回空白,但直接查询时没有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47541458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com