yii框架下輸出hive結果

由於yii天生是對mysql這種sql數據庫提供支持的,而hive則沒有驅動器,所以hive查詢出來的東西不能使用CxxxDataProvider,這給分頁顯示帶來很多麻煩。

解決方案:

1.使用CArrayDataProvider,示例代碼如下:

      $hive=new Hive(array("10.1.3.197:10000"));
        $hive->execute($sql);
        $result=$hive->fetchAll();
        //var_dump($result);die;
        foreach($result as &$json_obj) {
            $json_obj=strstr($json_obj, '{');
            $json_obj=json_decode($json_obj, true);
            $json_obj['id']=$json_obj['timestamp'];
        }
        //var_dump($result);die;
        $dataProvider=new CArrayDataProvider($result, array(
            'id'=>'timestamp',
            'sort'=>array(
                'attributes'=>array(
                     'username', 'hostname', 'timestamp', 'log', 'exit-code'
                ),
            ),
            'pagination'=>array(
                'pageSize'=>30,
            ),
        ));

2. 讓hive支持odbc接口,這樣就能像操作mysql那樣編程了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章