1. 程式人生 > >hive 使用udf函式實現資料匯入到mysql

hive 使用udf函式實現資料匯入到mysql

利用hive內建的hive-contrib 來實現udf匯入mysql,同時還需要mysql驅動包 例子: add jar /usr/local/hive-0.13.1b/hive-contrib-0.13.1.jar;
add jar /usr/local/hive-0.13.1b/mysql-connector-java-5.1.32-bin.jar;

create temporary function dboutput as 'org.apache.hadoop.hive.contrib.genericudf.example.GenericUDFDBOutput'; 
select dboutput('jdbc:mysql://192.168.1.3:3306/minp_db','mysqlusername','password','INSERT INTO rs_click
(date,site,click_vol,gradient) VALUES (?,?,?,?)',r.d,r.nv,r.ns,r.g) from 
(select from_unixtime(unix_timestamp() ,'yyyy-MM-dd') d,x.x1 nv,z.z2 ns,round(abs(x.x2-x.x3)/z.z2,2) g from (select a.p x1,a.nv x2,a.ov x3 from ( select  n.np p , n.ncv nv, o.ocv ov from (select param op ,sum(1) ocv from odm_partitioned where dt='2015-05-27' and unitid='pc_ucenter' and visittype='click' and link='pc' group by param) o join (select param np ,sum(1) ncv from odm_partitioned where  dt='2015-05-28' and unitid='pc_ucenter' and visittype='click' and link='pc' group by param) n on o.op = n.np) a ) x  full outer join ( select a.p z1,sum(a.nv) z2 from ( select  n.np p , n.ncv nv, o.ocv ov from (select param op ,sum(1) ocv from odm_partitioned where dt='2015-05-27' and unitid='pc_ucenter' and visittype='click' and link='pc' group by param) o join (select param np ,sum(1) ncv from odm_partitioned where  dt='2015-05-28' and unitid='pc_ucenter' and visittype='click' and link='pc' group by param) n on o.op = n.np) a group by a.p ) z on x.x1=z.z1) r;


注:藍色字型為需要匯入的資料集

相關推薦

hive 使用udf函式實現資料匯入mysql

利用hive內建的hive-contrib 來實現udf匯入mysql,同時還需要mysql驅動包 例子: add jar /usr/local/hive-0.13.1b/hive-contri

spark-sql使用UDF函式實現ip對映省份,資料寫出到mysql引數設定。

spark-SQL使用廣播變數以及應用資料庫的UDF自定義函式的查詢會比兩張表的連線更加的優化的程式的執行。 兩表連線是比較費效率的。 spar-sql 2.x的資料讀取,處理,新增schema資訊,常見表,SQL查詢。 將sql結果輸出到mysql的api引數設定。  還

HIVE的安裝配置、mysql的安裝、hive建立表、建立分割槽、修改表等內容、hive beeline使用、HIVE的四種資料匯入方式、使用Java程式碼執行hive的sql命令

1.上傳tar包 這裡我上傳的是apache-hive-1.2.1-bin.tar.gz 2.解壓 mkdir -p /home/tuzq/software/hive/ tar -zxvf apache-hive-1.2.1-bin.tar.gz  -C /home/

SparkSql將資料來源Hive資料匯入MySql例項

背景:能看到這篇部落格的夥計兒,應該是充分理解了[理想是豐滿的 現實是骨感]  這句名言了吧。為啥子這麼說呢,那就是 不就是個SparkSql從hive匯入到mysql嗎 有什麼技術含量,但是呢 不斷地踩坑ing填坑ing。 廢話不多說,直接上硬菜。 package co

使用sqoop將hive資料匯入mysql例項

1.環境配置 CentOS6.5 hadoop2.2 jdk1.7.0 sqoop1.4.4 zookeeper3.4.5 Mysql 14.14 2.在mysql上建立表 先按照需求在

MySQL 使用 INTERVAL() 函式 實現資料按區間分組

首先看一下它的定義: INTERVAL(N,N1,N2,N3,..........) INTERVAL()函式進行比較列表(N1,N2,N3等等)中的N值。該函式如果N<N1返回0,如果N<N2返回1,如果N<N3返回2 等等。如果N為NULL,它將返

利用Python將Excel表中的資料匯入Mysql資料庫

 python操作Excel 需要匯入xlrd包,可以通過pip install xlrd 一鍵安裝。 #coding=utf-8 ''' python 將指定目錄下的excel檔案匯入到資料庫中 ''' # 引入資料庫包 import pymysql # 引入操作excel包

Hive UDF函式編寫流程詳解

參考官網: https://cwiki.apache.org/confluence/display/Hive/HivePlugins     新增hive UDF函式 https://cwiki.apache.org/confluence/displ

Shell_mysql命令以及將資料匯入Mysql資料庫

連線MYSQL資料庫 mysql -h${db_ip} -u${db_user} -p${db_pawd} -P${db_port} -D${db_name} -s -e "${sql}"   db_ip:主機地址   db_user :資料庫使用者名稱   db_pwd:密碼   db

Excel表實現資料匯入匯出

  資料匯入: @PostMapping("/imp") public String imp(@RequestPart("filePath") MultipartFile filePath) { //建立一個excel檔案 HSSFWorkb

資料匯入mysql遇到的問題

將.XML檔案匯入資料庫,出現以下錯誤的資料,無法匯入: 這時要停止匯入,檢視loginmort檔案(日誌檔案,裡面包含了錯誤原因) 錯誤1 如圖: [Err] 1406 - Data too long for column 'Body' at row 2 第2行

hive 本地、hdfs資料匯入

1.1匯入內部表 (1)本地或者hdfs匯入:         LOAD DATA[LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLEtablename [PARTITION(partcol1=val1, partcol2=val2

用Navicat把csv資料匯入mysql

不說廢話,直接操作: 1.獲取csv資料,用office另存為功能把excel另存為csv(當然這是我自己資料本身是存在excel裡的緣故,如果你本來就是csv資料,則忽略這一步。) 2.用Navicat進行匯入:隨便建立一個數據庫,然後在表那裡點選匯入嚮導 選

在Javaweb中poi實現資料匯入,支援03版和07版Excel匯入

注意資料型別的轉換,另外由於在後面的sid我不需要插入資料庫,所以最後就沒有set到實體物件 哪些不明白可以直問! import java.io.File; import java.io.FileInputStream; import java.io.IOExceptio

如何使用SQLyog將大量資料匯入mysql資料庫

之前是通過SQLyog將excel檔案儲存為csv檔案,然後匯入mysql資料庫,不過由於資料量大,建表語句寫的很麻煩(先copy Excel橫表的第一行(屬性那一行),然後轉置,到txt檔案,寫建表語句,加逗號),昨天用一天的時間琢磨這個問題,在前輩的指點下,發現這個能匯

使用POI操作Excel將資料匯入mysql

原本的工程:POI-Excel.zip(下載)【需要自己註冊了一個碼雲帳號才可以下載】 利用POI將excel資料匯入資料庫目前還是比較流行,但是表格某些欄位需要進行特殊處理,比如日期,excel的日期在java裡面讀出來是一個數字(number)並非日期格式的字串,等等。1

用Navicat完成Oracle資料匯入MySQL

今天老闆給了個看似容易的任務——把資料從Oracle轉到MySQL,我那個激動啊,想著都是一家出的產品應該很簡單吧,plsql應該就能直接轉吧,然而一如往常,領導的任務從來都不會簡單。。。。(不會加表情大家自行腦補) 那麼正文開始: 工具:Navicat 1

MVC 實現資料匯入Excel,並在客戶端下載。

1 .在control實現資料匯出到excel 2 在view 中實現檔案下載 匯出excel方法 需要引入 using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using NPOI.HSSF.UserModel;

Python3將excel中的資料匯入mysql資料庫

import pymysql # xlrd 為 python 中讀取 excel 的庫,支援.xls 和 .xlsx 檔案 # import xlrd # openpyxl 庫支援 .xlsx 檔案的讀寫 from openpyxl.reader.excel import

Hive之DML(資料匯入資料匯出)操作

總結: 資料的匯入 1)hdfs或者本地檔案匯入使用  load 或者 建立資料庫的同時指定檔案位置 location 2)從已有hive資料庫中表匯入相應的資料    使用       as