We will be using the sakila database extensively inside the rest of the course and it would be great if you can follow the installation process below.

Importing the Sakila Database

一、 Change the File 。这一步原来提供的文件中可能已经i做好了。

Find and Replace all "InnoDB" with "MyISAM" in the schema file - different database engine - Full text - so don't have to upgrade

// MySQL用我的host03.xyy上安装了mysql数据库,所以在host03上做

二、登录数据库并执行数据库脚本

mysql -u root -p

root

SOURCE /home/cloudera/Spark/sakila-db/sakila-schema.sql

SOURCE /home/cloudera/Spark/sakila-db/sakila-data.sql

SHOW FULL TABLES;

DROP VIEW actor_info;

DROP VIEW customer_list;

DROP VIEW film_list;

DROP VIEW nicer_but_slower_film_list;

DROP VIEW sales_by_film_category;

DROP VIEW sales_by_store;

DROP VIEW staff_list;

三、使用hive并创建hive数据库

// Hive在host03机器上切换到hdfs用户,然后执行hive,进入hive命令行

CREATE DATABASE sakila;

四、执行导入mysql数据到hive。通过sqoop命令

// Terminal在03机器上使用hdfs用户进入,执行如下命令,否则找不到驱动程序。

sqoop import-all-tables --connect "jdbc:mysql://host03.xyy:3306/sakila" --username root --password root --hive-import --hive-database sakila

因为sqoop回转化为hadoop的mapreduce来做,所以会从多个机器上同时执行。

这个时候可能发生其他机器上链接不上mysql的问题,因为默认的mysql是拒绝其他机器访问的。

可以如下操作

mysql -u root -p
GRANT ALL PRIVILEGES ON *.* TO root@"host01.xyy" IDENTIFIED BY "root" WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO root@"host02.xyy" IDENTIFIED BY "root" WITH GRANT OPTION;

或者直接所有的远程机器都可以访问授权。

GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH PRIVILEGES;

大数据入门到精通13--为后续和MySQL数据库准备的更多相关文章

  1. 大数据入门到精通18--sqoop 导入关系库到hdfs中和hive表中

    一,选择数据库,这里使用标准mysql sakila数据库 mysql -u root -D sakila -p 二.首先尝试把表中的数据导入到hdfs文件中,这样后续就可以使用spark来dataf ...

  2. 大数据入门到精通5--spark 的 RDD 的 reduce方法使用

    培训系列5--spark 的 RDD 的 reduce方法使用 1.spark-shell环境下准备数据 val collegesRdd= sc.textFile("/user/hdfs/C ...

  3. 大数据入门到精通2--spark rdd 获得数据的三种方法

    通过hdfs或者spark用户登录操作系统,执行spark-shell spark-shell 也可以带参数,这样就覆盖了默认得参数 spark-shell --master yarn --num-e ...

  4. 大数据入门到精通19--mysql 数据导入到hive数据中

    一.正常按照数据库和表导入 \\前面介绍了通过底层文件得形式导入到hive的表中,或者直接导入到hdfs中,\\现在介绍通过hive的database和table命令来从上层操作.sqoop impo ...

  5. 大数据入门到精通17--union all 和disctinct 的用法

    一.union all 的用法.使用union all 或者 unionselect * from rental where rental_id <10union allselect * fro ...

  6. 大数据入门到精通16--hive 的条件语句和聚合函数

    一.条件表达 case when ... then when .... then ... when ... then ...end select film_id,rpad(title,20," ...

  7. 大数据入门到精通12--spark dataframe 注册成hive 的临时表

    一.获得最初的数据并形成dataframe val ny= sc.textFile("data/new_york/")val header=ny.firstval filterNY ...

  8. 大数据入门到精通11-spark dataframe 基础操作

    // dataframe is the topic 一.获得基础数据.先通过rdd的方式获得数据 val ny= sc.textFile("data/new_york/")val ...

  9. 大数据入门到精通10--spark rdd groupbykey的使用

    //groupbykey 一.准备数据val flights=sc.textFile("data/Flights/flights.csv")val sampleFlights=sc ...

随机推荐

  1. ubuntu16.04x下搜狗输入法无法输入中文

    使用如下命令: cd ~/,config find . -name sogou* 找到sogou-qimpanel ,sudo rm -r ./sogou-qimpanel删除 find . -nam ...

  2. Window系统下搭建GIT本地服务器

    转载:https://blog.csdn.net/qwer971211/article/details/71156055

  3. python写service时全局变量问题

    在尝试用flask写service的过程中,我发现全局变量使用虽然很方便,但其实是很冒险的. 本次我使用的是声明global变量的方式,如果作为本地的单次使用的程序来说,确实没有问题并且很好用,对于竞 ...

  4. Hibernate主键自增策略

    hibernate 主键生成策略配置: 通过 实体类映射文件中 <id>元素的 子元素 <generator> 元素进行配置 <generator> 常用配置: ( ...

  5. PythonStudy——字典的操作 Dictionary operation

    dic = {'a': 1, 'b': 2} print(dic) # 增: 字典名[key] = 值 => key已存在就是修改值,不存在就是新增值 dic['c'] = 3 print(di ...

  6. oracle-------window安装

    安装虚拟机(没难度,傻瓜装机) 然后右键左边  新建虚拟机 自定义------下一步------- 稍后安装操作系统------下一步 下一步 下一步 下一步 下一步,完成 然后启动,就可以启动一个系 ...

  7. 20165308实验三 敏捷开发与XP实践实验报告

    实验三 敏捷开发与XP实践实验报告 实验目的 安装 alibaba 插件,解决代码中的规范问题.再研究一下Code菜单,找出一项让自己感觉最好用的功能. 在码云上把自己的学习搭档加入自己的项目中,确认 ...

  8. zabbix_agent添加到系统服务启动(八)

    Centos6.5上安装了zabbix_agent后,需要把zabbix_agent添加到系统服务启动,要不然每次要一长串路径再启动,挺麻烦的. 步骤: 1)拷贝zabbix解压包里的zabbix_a ...

  9. 十七、springcloud(三)服务的注册与调用

    1.启动服务注册中心Eureka(见上篇) 启动成功后,暂时无服务 2.项目框架 3.创建服务提供者(spring-cloud-houge-provider)jar a.application.pro ...

  10. py-day3-3 python 函数的作用域

    def test1(): print('in the test1') def test(): print('in the test') return test1 print(test) res = t ...