问题:数据量大,接口请求太慢,如何判断是哪个语句拖慢了时间?

解决:可以使用logger进行debug,输出每个语句的运行时间

方法:

将下面代码与你的create_engine放一起就可以了

from sqlalchemy import event
from sqlalchemy.engine import Engine
import time
import logging

logging.basicConfig()
logger = logging.getLogger("myapp.sqltime")
logger.setLevel(logging.DEBUG)
fh = logging.FileHandler("test_log.log", encoding="utf-8")
logger.addHandler(fh)

阅读全文

问题:python(superset)如何连接达梦数据库?sqlalchemy如何连接dm8?

解决:需要两个驱动dmPython,sqlalchemy_dm

方法:

1、复制dmPython,sqlalchemy等文件夹(本人superset和达梦数据库不在同一服务器,所以需要复制)

cd /opt/dm8   // 本人达梦数据库安装服务器
mkdir fakedm8
cp -r ./bin ./fakedm8
cp -r ./include ./fakedm8
cp -r ./drivers/python/dmPython/ ./fakedm8
// 注意:使用2.0.0报错AttributeError: type object 'DMDialect_dmPython' has no attribute 'dbapi'
// 使用1.1.10时报错AttributeError: 'DMExecutionContext_dmPython' object has no attribute 'compiled_parameters'
cp -r ./drivers/python/sqlalchemy1.4.6/ ./fakedm8
scp -r fakedm8/ hadoop01:~/   // 将复制的文件夹传送到superset服务器

2、配置fakedm8路径

mv ~/fakedm8/ /opt/module/
vim ~/.bash_profile  // 加入下面三行内容
    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/module/fakedm8/bin"
    export DM_HOME="/opt/module/fakedm8"
    export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool
source ~/.bash_profile

阅读全文

方法:

pip install dmPython -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

问题:请求其它服务器实现登录,因为是未设置在同域名下所以跨站了,登录后返回了cookie,但未设置到浏览器中

解决:跨域名设置时要求非常严格,首先需要是https网站

很多人知道需要在 ajax 里配置 withCredentials 为 true,但光有这个不够,需要满足的条件如下:

  • withCredentials
    ajax里配置 withCredentials 为 true
  • 响应头
    服务端需配置响应头字段:Access-Control-Allow-Origin,值为允许跨域的域名,不能为星号*
    还需要服务端配置另一响应头字段:Access-Control-Allow-Credentials,值为true

阅读全文

问题:因为node新版本需要ubuntu1804以上,安装在ubuntu1604上报错,无法直接使用,根据提示更新glibc版本到2.28,结果就导致报错 recipe for target 'install-symbolic-link' failed,直接导致系统无法使用了

解决:因为glibc更新的是系统底层,更新失败导致系统已损坏,需要手动更新/lib/x86_64-linux-gnu下文件软件接到新文件,但系统已经损坏,无法使用,这时只能通过ubuntu的try ubuntu来解决了

阅读全文