在创建虚拟环境时,我可以将路径/ Users/nolan/miniconda/envs /更改为另一个吗?我希望它特定于我的项目目录.(正如我们可以用virtualenv做的那样)
$conda info -e
Using Anaconda Cloud api site https://api.anaconda.org
# conda environments:
#
_build /Users/nolan/miniconda/envs/_build
myen3 /Users/nolan/miniconda/envs/myen3
nolanemirot /Users/nolan/miniconda/envs/nolanemirot
root * /Users/nolan/miniconda
Run Code Online (Sandbox Code Playgroud) 我的问题:
我遇到了这个错误:由于与并发事务冲突而无法完成。
而且我没有发现另一个查询与这个查询冲突。
我试过了 :
这些选项都没有帮助我理解这个问题。我发现一些查询同时运行,但它们没有使用相同的表。
几分钟后重新启动查询效果很好。
辅助函数应该放在气流中的什么位置?是否应该添加到插件目录中?我将为我的 ETL 作业编写一些可重复的代码,如下所示:
#create a sub dag containing DROP -> CREATE -> INSERT
sub_create_dag = DAG('%s.%s' % (parent_dag_name, child_dag_name), default_args=args)
pg_drop = DropPostgresOperator(task_id='drop_{}'.format(table), sql="", params={'schema': schema, 'table': table}, postgres_conn_id=args['connection_id'], autocommit=True, dag=sub_create_dag)
pg_create = PostgresOperator(task_id='create_{}'.format(table), sql='{sql_path}/create_{name}.sql'.format(sql_path=sql_path, name=table), postgres_conn_id=args['connection_id'], autocommit=True, dag=sub_create_dag)
pg_insert = PostgresOperator(task_id='insert_{}'.format(table), sql='{sql_path}/insert_{name}.sql'.format(sql_path=sql_path, name=table), postgres_conn_id=args['connection_id'], autocommit=True, dag=sub_create_dag)
pg_drop >> pg_create >> pg_insert
return dag
Run Code Online (Sandbox Code Playgroud)
问题是我会遇到如下错误:
File "/usr/local/lib/python2.7/dist-packages/jinja2/loaders.py", line 187, in get_source
raise TemplateNotFound(template)
Run Code Online (Sandbox Code Playgroud) 我找不到一种方法可以轻松知道我的 AWS S3 存储桶是公共的还是私有的。
我期待做list_bucket_response = s3client.list_buckets()并直接知道存储桶是否可公开访问。我遇到过https://jgreenemi.com/how-to-check-if-your-s3-buckets-allow-public-read-acls/但就我而言,当我列出存储桶时,我没有得到 URI .
我也试过s3client.get_bucket_acl(Bucket=bucket_name)没有成功。