日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

大数据——sqoop操作mysql和hive导出导入数据

發布時間:2023/12/20 数据库 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 大数据——sqoop操作mysql和hive导出导入数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.sqoop安裝

(1)下載CDH版本的sqoop

(2)解壓并進行環境配置

環境變量為:

export SQOOP_HOME=/home/sqoop-1.4.6-cdh5.15.1 export PATH=$PATH:$SQOOP_HOME/bin

在sqoop安裝目錄/conf/下:

#新建sqoop-env.sh文件 cp sqoop-env-template.sh sqoop-env.sh#增加環境變量 1、hadoop_home 2、hive_home 3、hbase_home

(3)啟動測試

sqoop help

并連接測試

sqoop list-databases --connect jdbc:mysql://IP地址/數據庫--username 數據庫的用戶名 --password 數據庫密碼

2.利用sqoop將mysql數據導入hdfs

sqoop import --connect jdbc:mysql://IP地址/數據庫 --username 數據庫用戶名 --password 數據庫密碼 --table 表名 --driver com.mysql.jdbc.Driver (驅動)

成功界面:

存在的錯誤:

(1)提示java.lang.ClassNotFoundException: Class QueryResult not found

進入臨時文件夾,

將jar包放在sqoop安裝目錄/lib下。

(2)提示org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory hdfs://192.168.99.250:9000/user/root/employees already exists

在hdfs里邊把文件刪除就行,命令:hadoop dfs -rmr /文件夾路徑

(3)出現以下錯誤,是缺少java-json.jar,放在sqoop安裝目錄/lib下

3.利用sqoop將mysql數據導入hive

sqoop import --connect jdbc:mysql://192.168.99.16/test --username root --password root --table employees --hive-import --hive-table employees --driver com.mysql.jdbc.Driver

(1)新建表

成功!

查詢hive:

(1)出現ERROR hive.HiveConfig: Could not load org.apache.hadoop.hive.conf.HiveConf. Make sure HIVE_CONF_DIR is set correctly.

往/etc/profile最后加入?export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HIVE_HOME/lib/*
然后刷新配置,source /etc/profile

4.利用sqoop將Hadoop數據導入mysql

(1)將本地數據上傳到hdfs

(2)執行命令

sqoop export --connect jdbc:mysql://192.168.99.16/test --username root --password root --table employees_s --export-dir edata --columns first_name,salary,dept --driver com.mysql.jdbc.Driver --input-fields-terminated-by '\001' --input-null-string '\n' --input-null-non-string '\n'

錯誤原因:

字段不一致,編碼不一致,改為utf-8。

5.利用sqoop將Hive數據導入mysql

(1)查看hive表在hdfs的保存路徑

(2)導出

sqoop export --connect jdbc:mysql://192.168.99.16/test --username root --password root --table employees_s --export-dir /user/hive/warehouse/employees --driver com.mysql.jdbc.Driver --input-fields-terminated-by '\001' --input-null-string '\n' --input-null-non-string '\n'

需注意字段類型問題!

6.hive連接oracle為基礎庫

更改hive-site.xml的文件內容:

<configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:oracle:thin:@IP地址:端口號:實例名</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>oracle.jdbc.OracleDriver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>username</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>password</value> </property></configuration>

重啟hive服務

hive --service metastore &

7.hive連接Hbase為基礎數據庫

?

總結

以上是生活随笔為你收集整理的大数据——sqoop操作mysql和hive导出导入数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。