簡體   English   中英

發送cURL PUT命令以使用libcurl在c ++中以編程方式在webhdfs中創建文件

[英]Send cURL PUT command to create file in webhdfs programatically in c++ using libcurl

我正在嘗試從使用C ++編寫的應用程序將文件存儲到HDFS中。 我知道你可以在命令行/終端中使用curl:

首先發送PUT請求,

1) curl -i -X PUT http://<name_node>:50070/webhdfs/v1/<path>?op=CREATE

然后使用重定向的地址將數據寫入數據節點,

2) curl -i -X PUT -T <local path> "http://<data_node>:50075/webhdfs/v1/<path>?op=CREATE...

我想知道如何使用c ++中的libcurl直接將數據存儲到HDFS。

注意:我能夠發送GET請求,它完全可以正常工作:

string url = "http://localhost:50070/webhdfs/v1/mydata/restAPI.txt?op=GETCONTENTSUMMARY"    
if (curl)
        {
            curl_easy_setopt(curl, CURLOPT_URL, url1.c_str());
            result = curl_easy_perform(curl);
            curl_easy_cleanup(curl);
        }

最好使用curl,以便在步驟1之后自動重定向。以下命令適用於我的情況:

curl -L -i -X PUT -T local_file“http://:50075 / webhdfs / v1 /?op = CREATE ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM