使用 NZFunApply 函数检索数据库“NZPYIDA”时出错

问题描述 投票:0回答:1

我正在尝试通过 jupyter 笔记本运行此代码,以在 netezza 服务器中的表上应用函数,因此我可以在内部表上应用此代码,而无需从表/数据库中获取数据。

from nzpyida import IdaDataBase, IdaDataFrame
from nzpyida.ae import  NZFunApply

idadb = IdaDataBase('weather', 'admin', 'password', verbose=True)

idadf = IdaDataFrame(idadb, 'WEATHER')

code_str_apply = """def apply_fun(self, x):
    from math import sqrt
    max_temp = x[3]
    id = x[24]
    fahren_max_temp = (max_temp*1.8)+32
    row = [id, max_temp,  fahren_max_temp]
    self.output(row)
    """
output_signature = {'ID': 'int', 'MAX_TEMP': 'float', 'FAHREN_MAX_TEMP': 'float'}
nz_apply = NZFunApply(df=idadf, code_str=code_str_apply, fun_name='apply_fun', output_table="temp_conversion",output_signature=output_signature, merge_output_with_df=True)
result = nz_apply.get_result()
print(result)

此代码返回以下错误消息,

ProgrammingError: ERROR: ResolveCatalog: error retrieving database 'NZPYIDA'

我没有在笔记本中的任何地方使用名为“NZPYIDA”的数据库,我不确定导致此错误的原因以及发生了什么!服务器已安装INZA。

请推荐! 预先感谢:)

python sql netezza nzsql
1个回答
0
投票

ResolveCatalog
错误来自后端(数据库引擎)。请检查以
NZ*
开头的数据库列表,并验证该数据库是否存在。当
pg.log
执行时检查后端
apply_fun
也很好。

© www.soinside.com 2019 - 2024. All rights reserved.