我在 bash 中不断收到以下错误(使用 Windows):
$ URL = "https://nyc-tlc.s3.amazonaws.com/trip+data/yellow_tripdata_2022-01.parquet"
bash: URL: command not found
我试图在 bash 中运行的完整命令是:
URL = "https://nyc-tlc.s3.amazonaws.com/trip+data/yellow_tripdata_2022-01.parquet"
python ingest_data.py \
--user=root \
--password=root \
--host=localhost \
--port=5432 \
--db=ny_taxi \
--table_name=yellow_taxi_trips \
--url=${URL}
运行完整的命令会运行 ingest_data.py 文件,但不会发生下载(我认为是因为这个URL: command not found
错误。
如果我运行 ingest_data.py 则什么也不会发生 - 类似于运行上面的完整命令。
使用 URL 的 ingest_data.py 文件的“重要”部分是os.system(f"wget {url} -0 {flatfile_parquet}")
:
def main(params):
user = params.user
password = params.password
host = params.host
port = params.port
db = params.db
table_name = params.table_name
url = params.url
flatfile_parquet = 'output.parquet'
# download the parquet file
os.system(f"wget {url} -0 {flatfile_parquet}")
# connect to server
engine = create_engine(f'postgresql://{user}:{password}@{host}:{port}/{db}')
我一直在寻找说要使用 curl 但我不想在 bash 中下载文件的线程,我想将 url 存储在一个变量中,然后在ingest_data.py
文件中使用它。
任何建议表示赞赏,我是 bash 的菜鸟
您的第一行有语法错误。您不能在“=”周围留空格,否则 BASH 将尝试将第一个单词作为命令运行。考虑:
你应该使用: