通过sqoop将mysql数据导入到hive中进行计算示例_sqoop 同步mysql 到hive 实际应用-程序员宅基地

技术标签: hadoop  

在这里插入图片描述

hive计算示例

先将数据通过sqoop从mysql导入hive,在hive执行mysql的查询语句,得到与mysql一样的执行结果

步骤:

  1. mysql数据准备
  • account账号表
  • detail收支数据表
CREATE TABLE `account` (
  `id` int(11) PRIMARY KEY AUTO_INCREMENT,
  `account` varchar(20),
  `name` varchar(5),
  `age` int(3)
);

insert into account(account, name, age) values("[email protected]", "Tom", 23);
insert into account(account, name, age) values("[email protected]", "Jack", 20);
insert into account(account, name, age) values("[email protected]", "Jone", 22);
insert into account(account, name, age) values("[email protected]", "Jimi", 25);
insert into account(account, name, age) values("[email protected]", "Black", 24);
select * from account;



CREATE TABLE `detail` (
  `id` int(11) PRIMARY KEY AUTO_INCREMENT,
  `account` varchar(20),
  `income` double,
  `expenses` double,
  `time` varchar(10)
);

insert into detail(account, income, expenses, time) values("[email protected]", 10, 20, 2018-12-1);
insert into detail(account, income, expenses, time) values("[email protected]", 10, 30, 2018-12-4);
insert into detail(account, income, expenses, time) values("[email protected]", 13, 22, 2018-12-3);
insert into detail(account, income, expenses, time) values("[email protected]", 45, 25, 2018-12-2);
insert into detail(account, income, expenses, time) values("[email protected]", 34, 24, 2018-12-1);
insert into detail(account, income, expenses, time) values("[email protected]", 50, 20, 2018-12-1);
select * from detail;
  1. 创建hive表
create table account (
	id int, 
	account string, 
	name string, 
	age int
) row format delimited fields terminated by '\t';

create table detail (
	id int, 
	account string, 
	income double, 
	expenses double, 
	time string
) row format delimited fields terminated by '\t';
  1. 通过sqoop将mysq当中的数据直接导入到hive当中
sqoop import 
--connect jdbc:mysql://localhost:3306/mydata 
--username root 
--password 123456 
--table account 
--hive-import 
--hive-overwrite 
--hive-table account 
--fields-terminated-by '\t'

sqoop import --connect jdbc:mysql://localhost:3306/mydata --username root --password 123456 --table detail --hive-import --hive-overwrite --hive-table detail --fields-terminated-by '\t'
  1. 计算结果,mysql和hive中计算结果一致
select a.account, a.name, d.total 
from account as a 
join(
	select account, sum(income - expenses) as total 
	from detail group by account
) as d 
on a.account=d.account;

mysql计算结果

+--------------+-------+-------+
| account      | name  | total |
+--------------+-------+-------+
| black@qq.com | Black |    10 |
| jack@qq.com  | Jack  |   -20 |
| jimi@qq.com  | Jimi  |    20 |
| jone@qq.com  | Jone  |    -9 |
| tom@qq.com   | Tom   |    20 |
+--------------+-------+-------+

hive计算结果

black@qq.com	Black	10.0
jack@qq.com	Jack	-20.0
jimi@qq.com	Jimi	20.0
jone@qq.com	Jone	-9.0
tom@qq.com 	Tom	 20.0

报错及解决

报错:

/tmp/hive on HDFS should be writable.

解决

> hadoop fs -chmod -R 777 /tmp

参考
hive启动出现权限错误 /tmp/hive on HDFS should be writable.

报错:

Could not load org.apache.hadoop.hive.conf.HiveConf. Make sure HIVE_CONF_DIR

解决:
往/etc/profile最后加入

export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HIVE_HOME/lib/*

然后刷新配置,source /etc/profile

参考:
ERROR hive.HiveConfig: Could not load org.apache.hadoop.hive.conf.HiveConf. Make sure HIVE_CONF_DIR is set correctly.

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/mouday/article/details/84845632

智能推荐

基于SpringBoot+Vue学习网站系统设计和实现(源码+LW+部署讲解)-程序员宅基地

文章浏览阅读1.1k次,点赞26次,收藏11次。近年来,科技飞速发展,在经济全球化的背景之下,互联网技术将进一步提高社会综合发展的效率和速度,互联网技术也会涉及到各个领域,而学习网站系统在网络背景下有着无法忽视的作用。信息管理系统的开发是一个不断优化的过程,随着网络数据时代的到来,信息管理系统与计算机的集成成为必然。本次将以学习网站管理方面为切入点,论述了学习网站管理的意义和内容,以此展开对学习网站的开发与建设的详细分析。从数据挖掘的角度出发,了解信息管理系统的作用,对学习网站的过程以及用处进行更深一步的研究,数据的处理效率,以及具体的应用方向。

yolov5训练时显示文件损坏WARNING: Ignoring corrupted image_warning: ../uav_dataset/images/val/997.png: ignori-程序员宅基地

文章浏览阅读4.5k次。在datasets.py文件里面找到下面四行if im.format.lower() in (‘jpg’, ‘jpeg’):with open(im_file, ‘rb’) as f:f.seek(-2, 2)assert f.read() == b’\xff\xd9’, ‘corrupted JPEG’注释掉它们。即if im.format.lower() in (‘jpg’, ‘jpeg’):with open(im_file, ‘rb’) as f:f.seek(-2, 2)as_warning: ../uav_dataset/images/val/997.png: ignoring corrupt image: 'nonetyp

Python Lstm库函数的调用_lstm调用-程序员宅基地

文章浏览阅读8.5k次,点赞9次,收藏34次。Python Lstm模型的调用import numpy as npfrom keras.models import Sequentialfrom keras.layers.core import Dense, Activation, Dropoutfrom keras.layers.recurrent import LSTMfrom keras.callbacks import Ear..._lstm调用

Struts2学习整理总结_struts2整理-程序员宅基地

文章浏览阅读994次。摘要: 现在Struts2慢慢退出舞台了,但是很多项目还需要用Struts2进行开发和维护,这里就简单的重新快速的掌握这门技术Struts2的相关配置文件 * default.properties -- 在org/apache/struts2/目录下,代表的是配置的是Struts2的常量的值 * struts-default.xml --_struts2整理

python操作邮箱发送邮件和接收邮件_python邮件formataddr(["", mail])-程序员宅基地

文章浏览阅读1.8k次。首先,用到的模块import loggingimport tracebackfrom email.mime.application import MIMEApplicationimport osimport smtplibfrom email.mime.multipart import MIMEMultipartfrom email.utils import formataddrfrom email.mime.text import MIMETextfrom poplib import P_python邮件formataddr(["", mail])

nn.Parameter()-程序员宅基地

文章浏览阅读7.3k次,点赞13次,收藏29次。可以方便地定义和管理模型的可训练参数,并且在模型训练过程中可以自动计算梯度并更新参数值,是构建神经网络模型时常用的工具。是 PyTorch 中的一个类,用于创建可训练的参数(权重和偏置),这些参数会在模型训练过程中自动更新。_nn.parameter

随便推点

android反编译之apk资源提取-by TomHawk_apk文件提取网站目录-程序员宅基地

文章浏览阅读1.3k次。用到工具为apktool:google下载地址:http://code.google.com/p/android-apktool/,csdn下载地址:http://download.csdn.net/download/gsh_android_bar/8624495文件目录:提取apk资源步骤:1、将apk文件放置在apktool工具目录里2、打开运行->_apk文件提取网站目录

SparkStreaming窗口操作经典案例_使用sparkstreaming窗口使用案例-程序员宅基地

文章浏览阅读1.9k次。1.背景描述在社交网络(微博),电子商务(京东)、搜索引擎(百度)、股票交易中人们关心的内容之一是我所关注的内容中,大家正在关注什么在实际企业中非常有价值例如:我们关注过去30分钟大家都在热搜什么?并且每5分钟更新一次。要求列出来搜索前三名的话题内容2.原理图如图所示,每当窗口滑过DStream时,落在窗口内的源RDD被组合并被执行操作以产生windowed DStream的RDD。..._使用sparkstreaming窗口使用案例

C语言和设计模式(代理模式)_嵌入式c 代理模式-程序员宅基地

文章浏览阅读1.1w次,点赞7次,收藏10次。【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 代理模式是一种比较有意思的设计模式。它的基本思路也不复杂。举个例子来说,以前在学校上网的时候,并不是每一台pc都有上网的权限的。比如说,现在有pc1、pc2、pc3,但是只有pc1有上网权限,但是pc2、pc3也想上网,此时应该怎么办呢? 此时,我们需要做的就是在pc1_嵌入式c 代理模式

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException Communications link failure-程序员宅基地

文章浏览阅读1.8w次,点赞3次,收藏2次。老王一个错误改了一天,最后老师,我,老王一起改这个bug一个bug解决了又一个bug,下面这个bug是我发现的,嘿嘿有关数据库版本和URL安全的问题:以下是报错..com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failureThe last packet successfully received from the server was 1,567 milliseconds ago. Th

VR历史建筑漫游介绍|VR主题馆加盟-程序员宅基地

文章浏览阅读654次,点赞11次,收藏7次。在VR漫游过程中,用户可以获得详细的历史建筑介绍,包括建筑的年代、设计风格、建造背景等信息。通过文字说明、语音导览或交互式展示,用户可以全面了解这些建筑的历史背景和价值。

JUC-24 Fork/Join框架之Work-Stealing_steal_work-程序员宅基地

文章浏览阅读135次。仔细看了Doug Lea的那篇文章:A Java Fork/Join Framework中关于Work-Stealing的部分,下面列出该算法的要点(基本是原文的翻译):1. 每个Worker线程都维护一个任务队列,即ForkJoinWorkerThread中的任务队列。2. 任务队列是双向队列,这样可以同时实现LIFO和FIFO。3. 子任务会被加入到原先任务所在Worker线程的..._steal_work