airflow - 为什么我的 Airflow MySqlOperator 插入命令被拒绝?
问题描述
我正在使用插入查询运行 dag。这是一些代码:
QUERY = '''
INSERT INTO bi.target_skus (skus)
SELECT
distinct od.sku,
FROM
bi.orders as od'''
t1 = MySqlOperator(
sql=QUERY,
mysql_conn_id = MYSQL_CONN_ID,
task_id='target_skus',
dag=dag)
它给了我以下错误:
ERROR - (1142, "INSERT command denied to user 'xyz' for table 'target_skus'")
几点注意事项:
Devops 说我的用户有权插入该表
选择命令工作正常
即使我的插入查询包含,错误消息也不包含数据库名称 (bi)。
解决方案
看起来像是用户尝试插入的权限错误,但插入中的逗号也可能导致问题:
QUERY = ''' INSERT INTO bi.target_skus (skus) SELECT distinct od.sku FROM bi.orders as od'''
推荐阅读
- reactjs - 将函数组件中的变量传递给类组件
- python-3.x - 如何模拟 elasticsearch.helpers.bulk
- matlab - 根据特定列对矩阵进行排序,并使用另一列对其进行进一步排序,同时保持第一排序顺序
- database - 如何在 Google App Engine 中使用游标从 db 数据库中批量获取记录?
- java - 字符串类型不允许重音元音
- sql - 从 Rails PostgreSQL 查询返回输出格式
- swift - Swift ui macos ProgressView 使用未解析的标识符'ProgressView'
- ios - flutter xcode build failed 致命错误:找不到模块“连接”
- django - Django:根据当前登录的用户显示模型的内容
- c# - ASP.Net Razor 视图 - 在视图内显示文档的字节数据