作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Python 脚本调用天气 API,但 Airflow 任务失败并显示错误 Negsignal.SIGSEGV。调用天气 API 的 Python 脚本在 Airflow 外部运行时工作正常。
DAG
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from airflow.operators.python_operator import PythonOperator
from airflow.contrib.operators.spark_submit_operator import SparkSubmitOperator
from datetime import datetime, timedelta
from scripts.weather_analysis.data_collection import query_weather_data
import pendulum
local_tz = pendulum.timezone("Asia/Calcutta")
default_args = {
'owner': 'airflow',
'depends_on_past': False,
#'start_date': airflow.utils.dates.days_ago(2), --> doesn't work
'start_date': datetime(2022, 8, 29, tzinfo=local_tz),
}
dag = DAG('weather_dag_2', default_args=default_args, schedule_interval ='0 * * * *',
)
# DAG to fetch weather data from api
t1 = PythonOperator(
task_id = 'callApi',
python_callable = query_weather_data,
dag=dag
)
Python 脚本 - query_weather_data.py
import requests
import json
from scripts.weather_analysis.config import API_KEY
from datetime import datetime
def query_weather_data():
parameters = {'q':'Brooklyn, USA', 'appId': API_KEY}
result = requests.get("http://api.openweathermap.org/data/2.5/weather?",parameters)
if result.status_code == 200:
json_data = result.json()
print(json_data)
else:
print("Unable to fetch api data")
错误日志:
[2022-09-02, 17:00:04 IST] {local_task_job.py:156} INFO - Task exited with return code Negsignal.SIGSEGV
[2022-09-02, 17:00:04 IST] {taskinstance.py:1407} INFO - Marking task as FAILED. dag_id=weather_dag_2, task_id=callApi, execution_date=20220902T103000, start_date=20220902T113004, end_date=20220902T113004
环境细节:
MacOS 蒙特雷
Airflow =2.3.4
Airflow部署模式=本地
Python=3.10
我已经尝试过此处列出的解决方案 Airflow DAG fails when PythonOperator tries to call API and download data但这并没有解决我的问题。
请帮忙。
最佳答案
我解决了这个解决方法:
在query_weather_data.py
中,设置环境变量-
os.environ["no_proxy"]="*"
关于python - Airflow - 外部 API 调用给出 Negsignal.SIGSEGV 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73582293/
我正在使用 Python 脚本调用天气 API,但 Airflow 任务失败并显示错误 Negsignal.SIGSEGV。调用天气 API 的 Python 脚本在 Airflow 外部运行时工作正
我的 AWS 账户中有一个 MWAA Airflow 环境。我设置的DAG应该从S3 bucket A中读取大量数据,过滤我想要的并将过滤后的结果转储到S3 bucket B。它需要每分钟读取一次,因
我是一名优秀的程序员,十分优秀!