所有
尝试使用python的pyathenajdbc创建外部表时, 它有错误:
def create_tbl(self):
#res = None
full_s3_abs_path = self.check_files()
conn_db = self.conn()
#try:
with conn_db.cursor() as cursor:
cursor.execute(
"""CREATE EXTERNAL TABLE IF NOT EXISTS %s.%s (
ord_no varchar(40),
ord_tmstp varchar(32),
ord_hdr_mdfy_tmstp varchar(32),
actn varchar(32),
doc_type varchar(20),
eod_bus_tmstp varchar(32),
eod_msg varchar(6),
entered_by varchar(254),
entry_type varchar(20),
max_ord_sts_desc varchar(40),
min_ord_sts_desc varchar(40),
mdfy_ts varchar(32),
ord_cmplt_fl varchar(6),
ord_purp varchar(20),
ord_sts varchar(100),
ord_hdr_key varchar(40),
cre_user varchar(40),
max_sts_tmstp varchar(32),
grand_ttl varchar(32),
grand_tax varchar(32),
ln_sub_ttl varchar(32),
str_no varchar(32),
ord_src varchar(32),
bp_id varchar(40),
promo_id varchar(38),
web_shper_id varchar(32),
aff_info_site_tag varchar(256),
aff_type varchar(20),
aff_info_tm varchar(32),
tax_exmpt_id varchar(40)
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\037'
LOCATION '%s'
TBLPROPERTIES (
'skip.header.line.count'='1');""" % (self.sch_name, self.tbl_nm, full_s3_abs_path)
)
print "Athena Table %s Created Successfully" % (self.tbl_nm)
#except:
# print "Unable to create DDL for athena table {}".format(self.tbl_nm)
# sys.exit(1)
#finally:
# conn_db.close()
在python 2.7中使用pyathenajdbc驱动程序创建外部表时, 以下是错误:
“”“......('skip.header.line.count'='1');”“”%(self.sch_name,self.tbl_nm,full_s3_abs_path) pyathenajdbc.error.DatabaseError:java.sql.SQLException:无法运行查询
答案 0 :(得分:0)
这是帮助调试通过CLI或Athena中的SDK提交的DDL时的一个小技巧。尝试检查控制台中的日志(请参阅我对此post的回复),以确切了解您的代码提交给Athena引擎的内容。