Cassandra copy命令使用指南

      網友投稿 1858 2025-03-31

      copy是cqlsh中的邏輯導入導出命令。包括兩個命令COPY TO / COPY FROM.使用這組命令可以在Cassandra與其他RDBMS或Cassandra之間遷移數據。目前已經支持csv, json文件格式以及標準輸出和輸入。

      1. 如何執行copy?

      1. 執行copy時,首先要啟動cqlsh. 啟動cqlsh的方法見?如何使用cqlsh訪問Cassandra。啟動cqlsh后,接著執行copy命令。如下

      1

      . /cqlsh? 127.0.0.1?9042?-u?{user_name}?-p?{password}

      1

      COPY?cycling.cyclist_name?TO? '/home/cas/copydata' ;

      2. 如果數據量很大,可以放在后臺執行。使用cqlsh的-e 參數。-e 參數用來后臺執行給定的語句,然后退出。命令如下

      1

      . /cqlsh? 127.0.0.1?9042?-u?{user_name}?-p?{password}?-e? "COPY?cycling.cyclist_name?TO?'/home/cas/copydata'" ;

      2. COPY TO

      1

      . /cqlsh? 127.0.0.1?9042?-e? "COPY?cycling.cyclist_name?to?'/home/cas/copydata'"

      COPY TO 常見的參數有:?NUMPROCESSES, RATEFILE, PAGESIZE, BEGINTOKEN, ENDTOKEN, MAXATTEMPTS, MAXOUTPUTSIZE; 新增的參數有:?RESULTFILE, DATAFORMATS, WHERECONDITION.重點介紹常見和新增的參數,關于其他COPY TO的參數可以參考Cassandra官網文檔:?copy-to

      1.?`file name`?導出時,可以指定文件名稱為目錄, 也可以指定文件名稱為文件。默認導出到文件。如果指定導出文件為存在的目錄時,將會按照range范圍導出到目錄下的不同的文件中,如果某一個range范圍導出沒有數據,則不會生成文件。如果指定的文件名是文件,那將會導出到指定的文件中。如果文件不存在,則新創建該文件。

      1

      . /cqlsh? 127.0.0.1?9042?-e? "COPY?cycling.cyclist_name?to?'/home/cas/copydata'"

      1

      . /cqlsh? 127.0.0.1?9042?-e? "COPY?cycling.cyclist_name?to?'/home/cas/copydata/cycling.cyclist_name'"

      2.?`NUMPROCESSES`?導出的線程數。在導出時,會將range范圍進行細分。導出的線程數越多,細分range的范圍數也就越多。但當線程數太多的時候,容易對服務端造成壓力,造成導出失敗。所以要選擇一個合適的線程數進行導出,默認的線程個數是(CPU核數 - 1)

      3.??`RATEFILE`?速率文件。指定文件路徑后,會打印導出過程的瞬時速率,可以用來評價導出的性能。

      4.??`PAGESIZE`?在一次page查詢中。獲取的row數。 默認為 1000。 建議不要設的調小。設置太小會影響導出性能。

      5.??`BEGINTOKEN, ENDTOKEN`?執行要導出的range范圍。默認是全部數據導出。

      6.??`MAXATTEMPTS`?每一個查詢重試的次數。如果某次查詢達到最大重試次數,那么導出將會直接失敗。

      7.??`MAXOUTPUTSIZE`?每一個導出文件中的最大的行數。如果導出數據大于這個值。將會輪轉生成另一個文件。默認是不限制的。

      1

      . /cqlsh? 127.0.0.1?9042?-e? "COPY?cycling.cyclist_name?to?'/home/cas/copydata/cycling.cyclist_name'?with?MAXOUTPUTSIZE=1"

      8.??`RESULTFILE`?導出結果文件路徑,如果不設置。默認生成在當前執行目錄下。如果執行目錄中存在之前的結果文件,將會重命名之前的結果文件。導出結果的內容主要包括:導出成功與否,總共導出的行數和速率,導出的range范圍數,以及成功失敗的range范圍數,并展示每一個range范圍的結果和導出的行數。

      9.?`DATAFORMATS`?導出的數據格式。取值為csv, json。默認為csv格式。指定為json時,導出為json格式的數據。

      10.?`WHERECONDITION`?導出的查詢條件。支持查詢條件的導出。對于非主鍵列,如果通過索引來查詢,提高導出性能。

      1.?wherecondition 格式如下?`[key(operators)value,key(operators)value...]`

      2.?operators 支持?`[">=", "<=", ">", "<", "="]`,例如:?`'keyspace_name=system,table_name>=local'`

      3.?如果value中包含有特殊字符,比如保留字符 【" ,><=’】, 那么需要給字符加上雙引號,例如:`'keyspace_name=system,table_name>="loc>=al"'`

      Cassandra copy命令使用指南

      一個完整的COPY TO例子:

      1

      nohup? . /cqlsh? 127.0.0.1?9042?--request-timeout=3600?--debug?-e? "COPY?nihao.sz_user?to?'/home/cas/copydata'?with?WHERECONDITION='update_timestamp=1'?NUMPROCESSES=12?AND?RATEFILE='rate.txt'?AND?RESULTFILE='export_result'?AND?dataformats='json';"?? > export .log?2>&1?&

      3. COPY FROM

      1

      COPY??[(,?...)]?FROM?< file? name>?WITH??[AND??...]

      COPY FROM 常見的參數有:?NUMPROCESSES, MAXROWS, INGESTRATE, ERRFILE, MAXBATCHSIZE, MINBATCHSIZE, CHUNKSIZE, MAXPARSEERRORS, MAXINSERTERRORS, SKIPROWS, SKIPCOLS;新增的參數有:?DATAFORMATS.重點介紹常見和新增的參數,關于其他COPY FROM參數可以參考Cassandra官網文檔:?copy-from

      1.?`file name`?導入數據時,指定導入的文件路徑,可以是一個目錄,或者是一個文件,或者是逗號分隔的文件名列表。如果是目錄,則導入該目錄下的所有文件。

      2.?`NUMPROCESSES`?導入的線程數

      3.?`MAXROWS`?導入的最大行數。默認不限制。

      4.?`INGESTRATE`?每一秒導入的最大行數。默認為 100000

      5.?`ERRFILE`?導入失敗的列將放在這個文件中。

      6.?`MAXBATCHSIZE`?每一次batch導入的最大行數。默認為20

      7.?`MINBATCHSIZE`?每一次batch導入的最小行數。默認為2

      8.?`CHUNKSIZE`?導入主線程給子線程每次傳遞的行數,默認為 1000

      9.?`MAXPARSEERRORS`?可以忽略的語法解析錯誤的最大行數。默認不限制

      10.?`MAXINSERTERRORS`?可以忽略的插入失敗的最大行數。默認為1000

      11.?`SKIPROWS`?導入時初始跳過的行數。默認為0,不跳過

      12.?`SKIPCOLS`?導入時忽略的列名,以逗號分隔。默認不忽略。

      13.?`DATAFORMATS`?導入的數據格式。取值為csv,json。默認為csv格式。數據為json格式時,必須指定為json。

      一個完整的COPY FROM例子:

      1

      nohup? . /cqlsh? 127.0.0.1?9042?--request-timeout=3600?--debug?-e? "COPY?nihao.sz_user?FROM?'/home/cas/copydata'?with?NUMPROCESSES=12?AND?RATEFILE='rate.txt'?AND?dataformats='json';"?? > import .log?2>&1?&

      任務調度 云數據庫 GaussDB(for Cassandra)

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:產品經理應該做什么,產品經理要具備哪些能力
      下一篇:Word/Excel/PPT 2019完全自學教程 : 視頻講解版 》 —2.7 項目符號與編號的使用
      相關文章
      精品亚洲AV无码一区二区三区| 亚洲国产精品无码久久SM| 亚洲av无码潮喷在线观看| 国产成人精品久久亚洲高清不卡 | 国产成人高清亚洲一区久久| 亚洲爆乳成av人在线视菜奈实| 亚洲免费福利在线视频| 亚洲国产亚洲片在线观看播放| 色婷婷亚洲十月十月色天| 亚洲日韩图片专区第1页| 久热综合在线亚洲精品| 亚洲爱情岛论坛永久| 亚洲无删减国产精品一区| 亚洲一区二区在线视频| 久久亚洲AV成人出白浆无码国产| 亚洲AV人无码综合在线观看| 亚洲人成网www| 亚洲国产综合在线| 久久精品国产亚洲AV忘忧草18 | 亚洲AV无码国产精品色| 亚洲国产成人久久三区| 亚洲va成无码人在线观看| 99999久久久久久亚洲| 中文字幕在线观看亚洲日韩| 亚洲精品GV天堂无码男同| 国产亚洲精品第一综合| 亚洲区日韩区无码区| 亚洲啪啪综合AV一区| 亚洲成A人片777777| 亚洲国产精品国自产电影| 精品亚洲国产成AV人片传媒| 亚洲国产精品无码久久久| 中文字幕在线观看亚洲视频| 亚洲欧美一区二区三区日产| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 亚洲欧洲一区二区三区| 亚洲色爱图小说专区| 亚洲高清在线视频| 亚洲一区电影在线观看| 亚洲成AV人片高潮喷水| 亚洲伊人久久综合影院|