日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
      軟件
      軟件
      文章
      搜索

      首頁(yè)西西教程數(shù)據(jù)庫(kù)教程 → Cassandra Query Language-Cassandra查詢語(yǔ)言介紹

      Cassandra Query Language-Cassandra查詢語(yǔ)言介紹

      相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:本站整理時(shí)間:2010/11/1 22:18:42字體大。A-A+

      作者:佚名點(diǎn)擊:286次評(píng)論:0次標(biāo)簽: Cassandra CQL

      • 類型:文件處理大。209KB語(yǔ)言:中文 評(píng)分:7.0
      • 標(biāo)簽:
      立即下載
      和SQL(結(jié)構(gòu)化查詢語(yǔ)言)類似,Cassandra也即將在未來(lái)的發(fā)行版本中提供Cassandra查詢語(yǔ)句(CQL)。

      比如使用Keyspace名稱為WebSiteKS,使用CQL表示為:

      USE WebSiteKS;

      查詢Column Family為Standard1,Key為k的值:

      SELECT FROM Standard1 WHERE KEY = "k";

      更新Column Family為Standard1,Key為k,Column為c的值:

      UPDATE Standard1 WITH ROW("k", COL("c", "hello!"));

      更多的有關(guān)CQL的語(yǔ)法詳細(xì)信息可以參考官方的文檔:https://svn.apache.org/repos/asf/cassandra/trunk/doc/cql/CQL.html

      拋開(kāi)CQL的語(yǔ)法,深入到Cassandra的內(nèi)部實(shí)現(xiàn),其也無(wú)非是解析CQL的操作類型,然后將其轉(zhuǎn)化為內(nèi)部的操作接口進(jìn)行調(diào)用。

      USE語(yǔ)句實(shí)現(xiàn)邏輯:

      case USE:
      clientState.setKeyspace((String)statement.statement);

      這里將Keyspace進(jìn)行了切換,和直接調(diào)用Thrift API的setKeyspace效果一致。

      SELECT語(yǔ)句實(shí)現(xiàn)邏輯:

      case SELECT:
      SelectStatement select = (SelectStatement)statement.statement;
      List<CqlRow> avroRows = new ArrayList<CqlRow>();
      avroResult.type = CqlResultType.ROWS;
      List<org.apache.cassandra.db.Row> rows = null;
      if (!select.getKeyPredicates().isRange())
      rows = multiSlice(keyspace, select);
      else
      rows = multiRangeSlice(keyspace, select);

      這與調(diào)用Thrift API的mutiSlice或multiRangeSlice效果一致:

      UPDATE語(yǔ)句實(shí)現(xiàn)邏輯:

      case UPDATE:
      UpdateStatement update = (UpdateStatement)statement.statement;
      validateColumnFamily(keyspace, update.getColumnFamily());
      avroResult.type = CqlResultType.VOID;
      List<RowMutation> rowMutations = new ArrayList<RowMutation>();
      for (Row row : update.getRows())
      {
      validateKey(row.getKey().getByteBuffer());
      RowMutation rm = new RowMutation(keyspace, row.getKey().getByteBuffer());
      for (org.apache.cassandra.cql.Column col : row.getColumns())
      {
      rm.add(new QueryPath(update.getColumnFamily(), null, col.getName().getByteBuffer()),
      col.getValue().getByteBuffer(),
      System.currentTimeMillis());
      }
      rowMutations.add(rm);
      }
      try
      {
      StorageProxy.mutate(rowMutations, update.getConsistencyLevel());
      }
      catch (org.apache.cassandra.thrift.UnavailableException e)
      {
      throw new UnavailableException();
      }
      catch (TimeoutException e)
      {
      throw new TimedOutException();
      }

      這與調(diào)用Thrift API的batch_mutate效果一致:

      雖然現(xiàn)在CQL功能還很弱,但是又向前邁向了一大步。
        hosts修復(fù)軟件
        (60)hosts修復(fù)軟件
        文件是計(jì)算機(jī)中一個(gè)舉足輕重的文件,該文件有一個(gè)比較大的特點(diǎn)就是沒(méi)有擴(kuò)展名。經(jīng)常在一些電腦個(gè)性技巧以及其他領(lǐng)域方面會(huì)用到,西西提供文件修復(fù)工具軟件下載大全。官方介紹是一個(gè)沒(méi)有擴(kuò)展名的系統(tǒng)文件,可以用記事本等工具打開(kāi),其作用就是將一些常用的網(wǎng)址域名與其對(duì)應(yīng)的地址建立一個(gè)關(guān)聯(lián)數(shù)據(jù)庫(kù),當(dāng)用戶在瀏覽器中輸入一個(gè)需要登錄的網(wǎng)址時(shí),系統(tǒng)會(huì)首先自動(dòng)從文件中尋找對(duì)應(yīng)的地址,一旦找到系統(tǒng)會(huì)立即打開(kāi)對(duì)應(yīng)網(wǎng)頁(yè),如果沒(méi)有找...更多>>

        相關(guān)評(píng)論

        閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過(guò)難過(guò)
        • 5 囧
        • 3 圍觀圍觀
        • 2 無(wú)聊無(wú)聊

        熱門(mén)評(píng)論

        最新評(píng)論

        發(fā)表評(píng)論 查看所有評(píng)論(0)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)