使用CSV文件向clickhouse插入数据添加'&';使用CURL | Bash首次录制
我在尝试使用csv文件插入数据以使用CURL单击房屋时遇到问题,第一个值是添加一些字符,如下所示:使用CSV文件向clickhouse插入数据添加'&';使用CURL | Bash首次录制,bash,csv,curl,clickhouse,Bash,Csv,Curl,Clickhouse,我在尝试使用csv文件插入数据以使用CURL单击房屋时遇到问题,第一个值是添加一些字符,如下所示: ┌─name─ ┬─lastname─┐ │&'Mark'│ Olson │ │ Joe │ Robins │ └────── ┴──────────┘ 我的CSV文件正常,如下所示: 'Mark','Olson' 'Joe','Robins' 如您所见,该表将第一条记录中的第一个值添加为&'Mark' 这是我在bash中的代码 query="INSERT INTO My
┌─name─ ┬─lastname─┐
│&'Mark'│ Olson │
│ Joe │ Robins │
└────── ┴──────────┘
我的CSV文件正常,如下所示:
'Mark','Olson'
'Joe','Robins'
如您所见,该表将第一条记录中的第一个值添加为&'Mark'
这是我在bash中的代码
query="INSERT INTO Myschema.persons FORMAT CSV"
cat ${csv} | curl -X POST -d "$query" $user:$password@localhost:8123 --data-binary @-
你知道有什么问题吗
谢谢我认为您应该使用以下格式,其中查询是url的一部分
cat *.csv |curl http://localhost:8123/?query=INSERT%20INTO%20Myschema.persons%20FORMAT%20CSV' --data-binary @-
< P> >我不知道为什么你的卷曲不起作用,但我最好的猜测是Clickhouse有解析规则,它不能消耗你指定的格式,<代码> ${Que}} /代码>和<代码> ${CSV}这两个参数都是在最终HTTPURL中被'& '加上,而解析CLICKHOLD无法考虑这种情况。
引用clickhouse文档-
您可以在帖子正文或URL中发送查询本身
参数
及
传输数据的POST方法对于插入查询是必需的。
在这种情况下,您可以在URL中写入查询的开头
参数,并使用POST传递要插入的数据。要插入的数据
例如,可以是与MySQL分开的标签转储。这样,,
INSERT查询将替换MySQL中的本地填充加载数据
查看此处了解更多详细信息和示例-我认为您应该使用以下格式,其中查询是url的一部分
cat *.csv |curl http://localhost:8123/?query=INSERT%20INTO%20Myschema.persons%20FORMAT%20CSV' --data-binary @-
< P> >我不知道为什么你的卷曲不起作用,但我最好的猜测是Clickhouse有解析规则,它不能消耗你指定的格式,<代码> ${Que}} /代码>和<代码> ${CSV}这两个参数都是在最终HTTPURL中被'& '加上,而解析CLICKHOLD无法考虑这种情况。
引用clickhouse文档-
您可以在帖子正文或URL中发送查询本身
参数
及
传输数据的POST方法对于插入查询是必需的。
在这种情况下,您可以在URL中写入查询的开头
参数,并使用POST传递要插入的数据。要插入的数据
例如,可以是与MySQL分开的标签转储。这样,,
INSERT查询将替换MySQL中的本地填充加载数据
查看此处了解更多详细信息和示例-你是对的,这是固定的,但我会编辑你的答案,http部分应该是双引号。你是对的,这是固定的,但我会编辑你的答案,http部分应该是双引号。