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を実行すると何も起こりません。上記のコマンド全体を実行するのと似ています。
ingest_data.pyファイルで使用されるURLの「重要」部分は次のとおりです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}')
カールを使用するスレッドを探していましたが、bashからファイルをダウンロードしたくないので、URLを変数に保存してからファイルで使用したいと思いますingest_data.py
。
どんな提案にも感謝します。私はbashについて少し愚かです。
答え1
最初の行に構文エラーがあります。 "=" の周囲にはスペースを入れないでください。それ以外の場合、BASHは最初の単語をコマンドとして実行しようとします。考慮する:
$ a = "xx"
bash: a: command not found
$ echo = "xx"
= xx
$ a="xx"
$ echo "$a"
xx
以下を使用する必要があります。
$ URL="https://nyc-tlc.s3.amazonaws.com/trip+data/yellow_tripdata_2022-01.parquet"