如何基于1列连接2个没有重复的hive表?

时间:2016-09-27 09:48:53

标签: hadoop hive

我有两张格式相同的表格: user_id,param1,param2 ,...

我必须组合两个表中的行,但每个user_id只出现一次。 (如果两个表中都有一些user_id,则此user_id只使用第二个表行)

到目前为止,我试图使用:

public function login_check(){
            $data['base_url'] = base_url();
            $this->form_validation->set_rules('email', 'Email', 'trim|required|xss_clean');
            $this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean|callback_check_database');
            if ($this->form_validation->run($this) == false) {   

                $this->index();

            } else {

               if(isset($this->session->userdata['logged'])) {
                $data['login_bg'] = $this->input->post('login_bg');
                $this->load->view("admin_db", $data);
            } 
            }

function check_database($password){

        $email= $this->input->post('email');

        $user = $this->user->loginCheck($email, $password);

        if($user[1] == 1){
            $result = $this->user->user_details($email);
            if($result != false) {
            $session_data = array(
            'id' => $result[0]->id,
            'email' => $result[0]->cp_email,
            );
            $this->session->set_userdata('logged', $session_data); 
            return true;
            }
        } else{
             $this->form_validation->set_message('check_database', $user[0]);
        return false;
        }

    }

但它只输出user_id字段。是否有" first_occurance(属性)"我可以使用的分组功能:

SELECT tt.user_id, * FROM
(SELECT * from t2
  UNION_ALL
SELECT * from t1) as tt
group by tt.eid

或者有更好的方法吗?

PS。表有1-3百万条记录。

0 个答案:

没有答案