问题:sqoop如何将数据export到dm8数据库?

解决:需要指定驱动

方法:

bin/sqoop export \
--driver dm.jdbc.driver.DmDriver \
--connect jdbc:dm://hadoop02:5236/jck?useSSL=false\&characterEncoding=UTF-8 \
--table zy \
--username dmuser \
--password dmpassword \
--export-dir /warehouse/database/jck/zy \
--input-fields-terminated-by '\t' \
--input-lines-terminated-by '\n'

阅读全文

问题:azkaban通过接口创建定时任务时如何传递参数?

解决:使用flowOverride参数

方法:

params = {
    'session.id': session_id,
    'ajax': 'scheduleCronFlow',
    'projectName': 'myProject',
    'flow': 'myProject',
    'flowOverride[dt]': '',
    'cronExpression': cron
}
res = requests.post('%s/schedule' % SCHEDULE_HOST, params=params)

阅读全文

问题:报错ImportError: libodbc.so.2: cannot open shared object file: No such file or directory
或报错('IM002', '[IM002] unixODBCData source name not found, and no default driver specified (0) (SQLDriverConnect)')

解决:
1、连接方法
sqlalchemy连接sqlserver需要使用到pyodbc模块

pip install pyodbc==5.1.0

调用方法

create_engine("mssql+pyodbc://{user}:{password}@{host}:{port}/{database}?driver=ODBC+Driver+17+for+SQL+Server".format(**db_config))

2、报错原因
ODBC驱动程序没有安装或正在配置

阅读全文

问题:报错DPI-1047: Cannot locate a 64-bit Oracle Client library: "libclntsh.so: cannot open shared object file: No such file or directory

解决:
1、连接方法
sqlalchemy连接oracle需要使用到cx_Oracle模块

pip install cx-Oracle==8.3.0

调用方法

create_engine("oracle+cx_oracle://{user}:{password}@{host}:{port}".format(**db_config))

2、报错原因
因为连接oracle需要在sqlalchemy所在的服务器安装Oracle Instant Client

阅读全文

问题:生产环境查询时报错:sqlalchemy.exc.DatabaseError: (dmPython.DatabaseError) [CODE:-608]请求执行超时

解决:因为两表查询,查询条件中有in,所以导致查询超时,但在开发环境不会出现这问题,不知道是不是达梦数据库版本问题,解决方法,将两表查询改成两个查询

阅读全文