• 关于

    hive 导入数据

    的搜索结果

问题

使用sqoop导入mysql中的表到hive中去,能否指定表存放在hive的数据库中吗?

利用sqoop将mysql中的数据导入到hive中时,为什么总是将mysql中的表存放在hive的默认数据库中?不能指定表存放在hive的某个具体的数据库下面吗?...
落地花开啦 2019-12-01 19:51:50 1309 浏览量 回答数 1

回答

由于 Hive 和 SparkSQL 在 Decimal 类型上使用了不同的转换方式写入 Parquet,导致 Hive 无法正确读取 SparkSQL 所导入的数据。对于已有的使用 SparkSQL 导入的数据,如果有被 Hive/Impala 使用的需求,建议加上 spark.sql.parquet.writeLegacyFormat=true,重新导入数据。
开源大数据EMR 2019-12-02 02:02:19 0 浏览量 回答数 0

问题

问大家个Hive问题,新建的hive外部分区表, 怎么把HDFS数据一次性全部导入hive里 ?分

问大家个Hive问题,新建的hive外部分区表, 怎么把HDFS数据一次性全部导入hive里 ?分区太多,不可能一个一个导吧。 本问题来自阿里云开发者社区的【11大垂直技术领域开发者社...
黄一刀 2019-12-01 22:01:11 37 浏览量 回答数 1

Quick BI 数据可视化分析平台

2020年入选全球Gartner ABI魔力象限,为中国首个且唯一入选BI产品

回答

导入到hive中,参数需要指定的hive表名,会把数据移动到hive 表所在的hdfs目录里。导入到hdfs,指定的是hdfs路径,直接移到hdfs指定路径。
鸿初 2019-12-02 02:20:58 0 浏览量 回答数 0

问题

你们数据库怎么导入hive 的,有没有出现问题

你们数据库怎么导入hive 的,有没有出现问题...
游客6nvww5bb5kd2w 2020-02-14 21:04:49 14 浏览量 回答数 2

问题

你们数据库怎么导入hive 的,有没有出现问题

你们数据库怎么导入hive 的,有没有出现问题...
游客6nvww5bb5kd2w 2020-02-14 19:14:51 0 浏览量 回答数 1

问题

内部表外部表的区别 hdfs 数据导入到 hive 的语法

内部表外部表的区别 hdfs 数据导入到 hive 的语法...
游客6nvww5bb5kd2w 2020-02-14 20:22:37 1 浏览量 回答数 1

回答

在导入hive的时候,如果数据库中有blob或者text字段,会报错,解决方案在sqoop笔记中。在将数据由Oracle数据库导入到Hive时,发现带有clob字段的表的数据会错乱,出现一些字段全为NULL的空行。 由于在项目中CLOB字段没有实际的分析用途,因此考虑将CLOB字段去掉。 同时,为了防止CLOB字段产生一些问题,因此将HIVE中CLOB字段禁用,禁用的方式如下: [Hadoop@master sqoop-1.4.5]$ cd $SQOOP_HOME/conf [hadoop@master conf]$ vi oraoop-site.xml 将以下属性的注释去掉,并且将value改为true oraoop.import.omit.lobs.and.long true If true, OraOop will omit BLOB, CLOB, NCLOB and LONG columns during an Import. 有些表中虽然有clob字段,但是不能排除掉,因为其他字段使我们所需要,因此在导入的时候采用指定--columns的方式来进行导入 sqoop import --hive-import --hive-database test --create-hive-table --connect jdbc --username user--password user --bindir //scratch --outdir /Java --table aaa --columns "ID,NAME" -m 1 --null-string '\N' --null-non-string '\N'
游客6nvww5bb5kd2w 2020-02-14 21:05:00 0 浏览量 回答数 0

回答

 在导入hive的时候,如果数据库中有blob或者text字段,会报错,解决方案在sqoop笔记中。在将数据由Oracle数据库导入到Hive时,发现带有clob字段的表的数据会错乱,出现一些字段全为NULL的空行。   由于在项目中CLOB字段没有实际的分析用途,因此考虑将CLOB字段去掉。   同时,为了防止CLOB字段产生一些问题,因此将HIVE中CLOB字段禁用,禁用的方式如下:   [Hadoop@master sqoop-1.4.5]$ cd $SQOOP_HOME/conf   [hadoop@master conf]$ vi oraoop-site.xml   将以下属性的注释去掉,并且将value改为true   oraoop.import.omit.lobs.and.long   true   If true, OraOop will omit BLOB, CLOB, NCLOB and LONG columns during an Import.   有些表中虽然有clob字段,但是不能排除掉,因为其他字段使我们所需要,因此在导入的时候采用指定--columns的方式来进行导入   sqoop import --hive-import --hive-database test --create-hive-table --connect jdbc --username user--password user   --bindir //scratch --outdir /Java --table aaa --columns "ID,NAME" -m 1 --null-string '\N' --null-non-string '\N'
游客6nvww5bb5kd2w 2020-02-14 19:15:21 0 浏览量 回答数 0

问题

DataX 从Hive导入Mysql中提示字段数不相等

我从一张HIve表往Mysql表中导入数据时,HIve一些分区字段值为空或为NULL,其他字段有值的分区导入正常,遇到这种情况怎么姐解决啊?DataX错误提示:escription:[您的配置错误.]. - 列配置信息有错误. 因为您配置...
rkijah 2019-12-01 20:19:54 1790 浏览量 回答数 2

问题

请教一下,我hive中数据大小为16g,通过importtsv生成了hfile 文件,导入到hbase中了,数据变成130多g,还有什么更好的办法吗

请教一下,我hive中数据大小为16g,通过importtsv生成了hfile 文件,导入到hbase中了,数据变成130多g,还有什么更好的办法吗...
社区小助手 2019-12-01 19:31:13 613 浏览量 回答数 1

问题

E-MapReduce产品sqoop把数据导入hdfs一个目录还是hive的一个表中,这两种有区别吗

E-MapReduce产品sqoop把数据导入hdfs一个目录还是hive的一个表中,这两种有区别吗...
鸿初 2019-12-01 19:26:47 1201 浏览量 回答数 1

回答

操作步骤 购买RDS实例,保证RDS可以和集群的master节点网络是通的;最好是跟E-MapReduce的ECS在同一个安全组,这样可以直接使用RDS的内网地址。 在RDS中创建一个database,名称为hivemeta,同时创建一个用户,把hivemeta的读写权限赋给这个用户。 导出统一元数据库的内容(只导出数据,不用导表结构)。 i. 为保证数据的一致性, 在Hive服务页面停止Hive的metastore服务,保证导出期间不会有新的元数据变化。 ii. 在Hive服务页面,单击配置页签。 iii. 在配置页面,查找javax.jdo.option.ConnectionUserName、javax.jdo.option.ConnectionPassword和javax.jdo.option.ConnectionURL的值。 说明  如果是老版本集群,请在$HIVE_CONF_DIR/hive-site.xml中查找。  javax.jdo.option.ConnectionUserName表示对应数据库用户名;javax.jdo.option.ConnectionPassword表示对应数据库访问密码;javax.jdo.option.ConnectionURL对应数据库访问地址和库名。 iv. 进入集群master节点,执行以下命令。 mysqldump -t DATABASENAME -h HOST -P PORT -u USERNAME -pPASSWORD > /tmp/metastore.sql 说明 密码为上一步骤在配置页面获取的密码。 修改集群Master节点(如果是HA集群两个master都需要)上的/usr/local/emr/emr-agent/run/meta_db_info.json,把里面的use_local_meta_db设置为false,meta数据库的链接地址、用户名和密码换成RDS的信息。 说明 对于无此文件的集群,直接忽略此步骤。 在Hive配置页面,把元数据库的链接地址、用户名和密码换成新RDS的信息。 如果是老版本集群,修改$HIVE_CONF_DIR/hive-site.xml中对应的配置为需要连接的数据库。 在一台Master节点上,把hive-site.xml里面的元数据库链接地址、用户名和密码换成RDS的信息,然后执行init schema。 cd /usr/lib/hive-current/bin ./schematool -initSchema -dbType mysql 把之前导出来的meta数据导入RDS。命令行登录MySQL。 mysql -h {rds的url} -u {rds的用户名} -p 进入MySQL的命令行之后,执行source /tmp/metastore.sql正常情况可以完全导入,不会报错。 重启Hive所有组件。 验证Hive功能是否正常,可以在Master节点上,执行hive cli,确认数据是否和先前一样。
LiuWH 2020-03-20 09:39:58 0 浏览量 回答数 0

问题

hadoop 统计分析oracle数据库的数据:报错

最近要做个应用功能的探讨,把oracle的大量数据分布式统计分析。。查了几天资料,有些说使用sqoop导出oracle数据为hdfs文件,但是文件名却不能指定,到时候mapreduce...
kun坤 2020-06-08 17:01:06 1 浏览量 回答数 1

问题

EMR的HIVE支持CTAS吗?或者HIVE的运行结果如何导入OSS?

OSS接入EMR,用hive处理数据,create table as select ,结果报错 Error creating temporary folder on: hdfs://好像输出路径有问题,求大神指教...
lwf1596 2019-12-01 19:29:05 1318 浏览量 回答数 0

问题

datax的hdfsreader读取大的orc表行数不够

数据源是一张orc格式的hive表,是用datax从mysql导入hive的,每天分区大约有3800万行;现在通过hdfsreader和mysqlwriter从hive导回mysql,只能读出8065000行,少了3000万行,是有什么限制...
winner.lzw 2019-12-01 19:44:38 1277 浏览量 回答数 2

问题

上海大数据数据分析课程

上海站【Cloudera 数据分析课程】     课时:4天     针对任何需要在Hadoop上实时地通过SQL和熟悉的脚本来管理、操纵和查询大型复杂数据的人。     学习Apache Pig、Apache Hive和Cl...
chen2007 2019-12-01 21:15:59 8476 浏览量 回答数 2

问题

hadoop+hive+hbase集成,hive不能向hbase中插入数据?报错

由于公司要求,我从一个啥都不知道的小菜鸟开始摸索 用hadoop+hive+hbase做集成,其中 hadoop  2.7.2   hive 1.2.1   hbase  0.98.20ÿ...
爱吃鱼的程序员 2020-06-09 11:16:26 0 浏览量 回答数 1

回答

目前Maxompute一共支持3个数据类型版本: 1、MaxCompute 2.0数据类型 2、MaxCompute 1.0数据类型 3、MaxCompute Hive兼容模式(即部分数据类型和SQL行为兼容Hive) MaxCompute 2.0推出了兼容开源主流产品的2.0数据类型和Hive兼容数据类型两个数据类型版本。加上原有的1.0数据类型版本,目前Maxompute一共支持3个数据类型版本。 MaxCompute数据类型版本 - MaxCompute设置数据类型版本属性的参数共有3个: - odps.sql.type.system.odps2:MaxCompute 2.0数据类型版本的开关,属性值为True或False。 odps.sql.decimal.odps2:MaxCompute 2.0的Decimal数据类型的开关,属性值为True或False。 - odps.sql.hive.compatible:MaxCompute Hive兼容模式(即部分数据类型和SQL行为兼容Hive)数据类型版本的开关,属性值为True或False。 在新增项目时MaxCompute可以对3个版本的数据类型进行选择,各个版本默认设置如下: 1.0数据类型版本 setproject odps.sql.type.system.odps2=false; --关闭MaxCompute 2.0数据类型。 setproject odps.sql.decimal.odps2=false; --关闭Decimal 2.0数据类型。 setproject odps.sql.hive.compatible=false; --关闭Hive兼容模式。 适用于早期使用的MaxCompute项目,且该项目依赖的产品组件不支持2.0数据类型版本。 2.0数据类型版本 setproject odps.sql.type.system.odps2=true; --打开MaxCompute 2.0数据类型。 setproject odps.sql.decimal.odps2=true; --打开Decimal 2.0数据类型。 setproject odps.sql.hive.compatible=false; --关闭Hive兼容模式。 适用于在2020年04月之前无存量数据的MaxCompute项目,且该项目依赖的产品组件支持2.0数据类型版本。 Hive兼容数据类型 setproject odps.sql.type.system.odps2=true; --打开MaxCompute 2.0数据类型。 setproject odps.sql.decimal.odps2=true; --打开Decimal 2.0数据类型。 setproject odps.sql.hive.compatible=true; --打开Hive兼容模式。 适用于从Hadoop迁移的MaxCompute项目,且该项目依赖的产品组件支持2.0数据类型版本。 选择数据类型版本 项目选择的数据类型版本影响范围如下: 表的数据类型。 DML语句、内置函数的行为。 与MaxCompute密切相关的开发组件。 因此,在选择项目的数据类型版本前建议您了解各种版本的说明以及差异点 查看项目的数据类型版本 执行如下命令查看已经创建项目的属性。 setproject; 查看odps.sql.type.system.odps2、odps.sql.decimal.odps2、odps.sql.hive.compatible属性判断当前项目的数据类型版本 。 修改项目的数据类型版本 如果发现项目当前选择的数据类型版本不能满足业务需求,可以修改数据类型版本。 执行如下命令修改项目的数据类型版本。此命令需要项目管理员(Project Owner)或超级管理员角色(Super_Administrator Role)执行。 --查看项目数据类型版本。 setproject; --开启/关闭MaxCompute2.0数据类型版本。 setproject odps.sql.type.system.odps2=true/false; --开启/关闭decimal2.0数据类型。 setproject odps.sql.decimal.odps2=true/false; --开启/关闭hive兼容模式数据类型版本。 setproject odps.sql.hive.compatible=true/false; 修改建议如下: 项目当前使用2.0数据类型版本,如果发现必须使用的组件不支持2.0数据类型。您可以使用如下方式解决与不支持2.0数据类型组件的对接问题: 将项目修改为1.0数据类型版本。 在与不支持2.0数据类型组件对接任务时,将Session设置为1.0数据类型版本。 说明 将如下语句与Session中的命令一起提交,即可将该Session设置为1.0数据类型版本。该命令仅支持小写。 set odps.sql.type.system.odps2=false; 项目使用2.0数据类型版本,部分SQL必须使用1.0数据类型,但是部分功能依赖2.0数据类型(例如current_timestamp函数)。解决方法如下: 将SQL拆分为单独的Session,将Session设置为1.0数据类型版本。 将SQL改写为可以替代的功能。 如果项目最开始使用了2.0数据类型版本,后面变更成1.0数据类型版本。需要注意以下2点: 对于已经使用了2.0数据类型的表,读取数据时,TINYINT、SMALLINT、INT转为BIGINT类型,CHAR、VARCHAR转为STRING类型。 建立1.0数据类型的表,将2.0数据类型的表中数据通过CAST函数导入1.0数据类型的表,即可将2.0数据类型的数据转化为1.0数据类型。 欢迎扫码加入 MaxCompute开发者社区钉钉群,或点击申请加入。
问问小秘 2020-06-04 13:50:03 0 浏览量 回答数 0

问题

用E-MapReduce sqoop产品导入数据后为什么hdfs目录是空的

指定--target-dir A --import-hive --hive-table,执行成功后为什么我指定的hdfs目录没内容...
鸿初 2019-12-01 19:31:37 1131 浏览量 回答数 1

问题

hive导入数据到【有分区的表】(partitioned by)就报错,提示hi?400报错

服务器centos7.2 hive版本0.12 hadoop版本2.7.6 ----------------分割线----------------- 创建table的时候,用的外部表,放置于mysql&#...
爱吃鱼的程序员 2020-06-06 15:28:24 0 浏览量 回答数 1

回答

sqoop导入mysql中表不需要手动创建。连接到hive的默认数据库后会自动创建的。Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导入到Hadoop的HDFS中 答案来源于网络
养狐狸的猫 2019-12-02 03:00:30 0 浏览量 回答数 0

问题

sqoop导入数据出现org.apache.sqoop.common.Sqoop?400报错

sqoop从oracle导入数据到hive中,作业原先是导入成功的,但是再次执行出现无法使用mapreduce任务,以下是mapreduce作业报错截图 有没有碰到过类似的问题,能否...
爱吃鱼的程序员 2020-06-08 13:51:46 0 浏览量 回答数 1

问题

【精品问答】大数据常见技术问题100问

大数据常见技术问题100问 1.如何检查namenode是否正常运行?重启namenode的命令是什么? 2.hdfs存储机制是怎样的? 3.hadoop中combiner的作用是什么? 4.hadoop中combiner的作用是什...
珍宝珠 2020-02-17 13:02:59 19 浏览量 回答数 1

问题

tHiveLoad如何动态的设置分区字段:报错

大家好,我使用thiveload从HDFS中导入数据到hive表格中,现在想对hive表格的分区字段进行动态的设置,每次分区的日期都从系统读取,下面TOS的工作流图:...
kun坤 2020-06-08 16:52:56 0 浏览量 回答数 1

回答

Sqoop(Tunnel通道系列) Sqoop基于社区Sqoop 1.4.6版本开发,增强了对MaxCompute的支持,可以将数据从MySQL等关系数据库导入或导出到MaxCompute表中,也可以从HDFS或Hive导入数据到MaxCompute表中。详情请参见MaxCompute Sqoop。 说明 该项目已经开源,您可进入aliyun-maxcompute-data-collectors进行查看。 Kettle(Tunnel通道系列) Kettle是一款开源的ETL工具,纯Java实现,可以在Windows、Unix和Linux上运行,提供图形化的操作界面,可以通过拖拽控件的方式,方便地定义数据传输的拓扑 。详情请参见基于Kettle的MaxCompute插件实现数据上云。 说明 该项目已经开源,您可进入aliyun-maxcompute-data-collectors进行查看。 Flume(DataHub通道系列) Apache Flume是一个分布式的、可靠的、可用的系统,可高效地从不同的数据源中收集、聚合和移动海量日志数据到集中式数据存储系统,支持多种Source和Sink插件。 Apache Flume的DataHub Sink插件可以将日志数据实时上传到DataHub,并归档到MaxCompute表中。详情请参见flume_plugin。 说明 该项目已经开源,您可进入aliyun-maxcompute-data-collectors进行查看。 Fluentd(DataHub通道系列) Fluentd是一个开源的软件,用来收集各种源头日志(包括Application Log、Sys Log及Access Log),允许您选择插件对日志数据进行过滤,并存储到不同的数据处理端(包括MySQL、Oracle、MongoDB、Hadoop、Treasure Data等)。 Fluentd的DataHub插件可以将日志数据实时上传到DataHub,并归档到MaxCompute表中。详情请参见 Fluentd插件介绍。 LogStash(DataHub通道系列) LogStash是一款开源日志收集处理框架,logstash-output-datahub插件实现了将数据导入DataHub的功能。通过简单的配置即可完成数据的采集和传输,结合MaxCompute和StreamCompute可以轻松构建流式数据从采集到分析的一站式解决方案。 LogStash的DataHub插件可以将日志数据实时上传到DataHub,并归档到MaxCompute表中。具体示例请参见Logstash + DataHub + MaxCompute和StreamCompute 进行实时数据分析。 OGG(DataHub通道系列) OGG的DataHub插件可以支持将Oracle数据库的数据实时地以增量方式同步到DataHub中,并最终归档到MaxCompute表中。详情请参见基于OGG DataHub插件将Oracle数据同步上云。 说明 该项目已经开源,您可进入aliyun-maxcompute-data-collectors进行查看。 MMA迁移工具 MMA利用Meta Carrier连接用户的Hive Metastore服务,抓取用户的Hive Metadata,并利用这些数据生成用于创建MaxComputer表和分区的DDL语句以及用于迁移数据的Hive UDTF SQL。详情请参见MMA迁移概述。
LiuWH 2020-03-19 22:36:54 0 浏览量 回答数 0

回答

本文档介绍如何使用Sqoop工具实现文件存储HDFS和关系型数据库MySQL之间的双向数据迁移。 背景信息 Sqoop是一款开源的工具,主要用于在Hadoop和结构化数据存储(如关系数据库)之间高效传输批量数据 。既可以将一个关系型数据库(MySQL 、Oracle 、Postgres等)中的数据导入HDFS中,也可以将HDFS的数据导入到关系型数据库中。 准备工作 现在Sqoop分为Sqoop1和Sqoop2,两个版本并不兼容。本案例选择使用sqoop1的稳定版本Sqoop 1.4.7 版本。 下载Sqoop 1.4.7 版本。 解压安装包。 tar -zxf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /home/hadoop/ 配置环境变量。 执行vim /etc/profile命令,打开配置文件,添加如下内容。 export SQOOP_HOME=/home/hadoop/sqoop-1.4.7.bin__hadoop-2.6.0 export PATH=$PATH:$SQOOP_HOME/bin 执行source /etc/profile命令,使配置生效。 添加数据库驱动。 下载MySQL链接包。 wget http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.38/mysql-connector-java-5.1.38.jar 将MySQL链接包存放到Sqoop安装目录的lib目录下。 cp mysql-connector-java-5.1.38.jar /home/hadoop/sqoop-1.4.7.bin__hadoop-2.6.0/lib/ 修改配置文件。 执行如下命令进入/home/hadoop/sqoop-1.4.7.bin__hadoop-2.6.0/conf目录。 cd /home/hadoop/sqoop-1.4.7.bin__hadoop-2.6.0/conf 执行如下命令复制sqoop-env-template.sh,并命名为sqoop-env.sh。 cp sqoop-env-template.sh sqoop-env.sh 执行vim sqoop-env.sh命令打开配置文件,添加如下内容。 export HADOOP_COMMON_HOME=/home/hadoop/hadoop-2.7.2 export HADOOP_MAPRED_HOME=/home/hadoop/hadoop-2.7.2 export HIVE_HOME=/home/hadoop/hive-2.1.0 #若没有安装hive、hbase可不必添加此配置 export HBASE_HOME=/home/hadoop/hbase-1.2.2 #若没有安装hive、hbase可不必添加此配置 执行如下命令验证数据库是否连接成功。 sqoop list-databases --connect jdbc:mysql:// --username 'username' --password 'password' 参数 说明 dburi 数据库的访问连接,例如: jdbc:mysql://0.0.0.0:3306/。 username 数据库登录用户名。 password 用户密码。 如果回显信息中显示MySQL数据库的名称,则表示连接成功。 将MySQL的数据迁移到HDFS上 在集群Sqoop节点上,使用sqoop import命令将MySQL中的数据迁移到HDFS上。 此处以迁移MySQL中的employee表为例,employee表中已写入如下数据。 01,测试用户1,1990-01-01,男 02,测试用户2,1990-12-21,男 03,测试用户3,1990-05-20,男 04,测试用户4,1990-08-06,男 05,测试用户5,1991-12-01,女 执行以下命令迁移数据。 sqoop import --connect jdbc:mysql://172.x.x.x:3306/sqoop_migrate --username 'userid' --password 'userPW' --table employee --target-dir /mysql2sqoop/table/sqoop_migrate --num-mappers 1 --columns "e_id,e_name,e_birth,e_sex" --direct 命令格式:sqoop import --connect jdbc:mysql:// / --username --password --table --check-column --incremental --last-value --target-dir 参数说明如下所示,更多详情请参见Sqoop Import。 参数 说明 dburi 数据库的访问连接。例如:jdbc:mysql://172.x.x.x:3306/ 。如果您的访问连接中含有参数,则请加上单引号,例如:'jdbc:mysql://172.x.x.x.235:3306/mydatabase?useUnicode=true&characterEncoding=UTF-8'。 dbname 数据库的名字,例如:user。 username 数据库登录用户名。 password 用户密码。 tablename MySQL数据库中表的名称。 col 迁移表中列的名称。 mode 该模式决定Sqoop如何定义哪些行为新的行。取值:append或lastmodified。 value 前一个导入中检查列的最大值。 hdfs-dir HDFS的写入目录,此处以/mysql2sqoop/table/sqoop_migrate为例。 检查迁移结果。 执行hadoop fs -ls /mysql2sqoop/table/sqoop_migrate命令,获取迁移文件,此处以part-m-00000为例。 Found 2 items -rwxrwxrwx 3 root root 0 2019-08-21 14:42 /mysql2sqoop/table/sqoop_migrate/_SUCCESS -rwxrwxrwx 3 root root 200 2019-08-21 14:42 /mysql2sqoop/table/sqoop_migrate/part-m-00000 执行hadoop fs -cat /mysql2sqoop/table/sqoop_migrate/part-m-00000命令查看文件中的内容。 如果part-m-00000文件中有如下内容,则表示迁移成功。 01,测试用户1,1990-01-01,男 02,测试用户2,1990-12-21,男 03,测试用户3,1990-05-20,男 04,测试用户4,1990-08-06,男 05,测试用户5,1991-12-01,女 将HDFS的数据迁移到MySQL上 将HDFS的数据迁移到MySQL上,需要先在MySQL上创建好对应HDFS数据结构的表,然后在集群Sqoop节点上使用sqoop export命令进行迁移。 此处以迁移HDFS上mysqltest.txt中的数据为例,mysqltest.txt中已写入如下数据。 6,测试用户6,2019-08-10,男 7,测试用户7,2019-08-11,男 8,测试用户8,2019-08-12,男 9,测试用户9,2019-08-13,女 10,测试用户10,2019-08-14,女 创建数据库。 create database sqoop_migrate; 使用已创建的数据库。 use sqoop_migrate; 创建表。 CREATE TABLE employee ( e_id varchar(20) NOT NULL DEFAULT '', e_name varchar(20) NOT NULL DEFAULT '', e_birth varchar(20) NOT NULL DEFAULT '', e_sex varchar(10) NOT NULL DEFAULT '', PRIMARY KEY (e_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 执行以下命令迁移数据。 sqoop export --connect jdbc:mysql://172.0.0.0:3306/sqoop_migrate --username 'userid' --password 'userPW' --num-mappers 1 --table employee --columns "e_id,e_name,e_birth,e_sex" --export-dir '/sqoop2mysql/table/mysqltest.txt' --fields-terminated-by ',' 迁移命令格式:sqoop export --connect jdbc:mysql:// / --username --password --table --export-dir 参数 说明 dburi 数据库的访问连接。例如:jdbc:mysql://172.x.x.x:3306/ 。如果您的访问连接中含有参数,则请加上单引号,例如:'jdbc:mysql://172.x.x.x.235:3306/mydatabase?useUnicode=true&characterEncoding=UTF-8'。 dbname 数据库的名字,例如:user。 username 数据库登录用户名。 password 用户密码。 tablename MySQL数据库中表的名称。 hdfs-dir 存放待迁移数据的HDFS目录,此处以/sqoop2mysql/table/mysqltest.txt为例。 验证迁移结果。 执行以下命令进入数据库。 mysql -uroot -p 执行以下命令使用数据库。 use sqoop_migrate; 执行select * from employee;命令查看表数据。 如果表中有如下数据,则表示迁移成功。 ... | 6 | 测试用户6 | 2019-08-10 | 男 | | 7 | 测试用户7 | 2019-08-11 | 男 | | 8 | 测试用户8 | 2019-08-12 | 男 | | 9 | 测试用户9 | 2019-08-13 | 女 | | 10 | 测试用户10 | 2019-08-14 | 女 | +------+---------------+------------+-------+ 10 rows in set (0.00 sec) 将MySQL的数据迁移到Hive上 在集群Sqoop节点上使用sqoop import命令可以将MySQL上的数据迁移到Hive上。 此处以迁移MySQL中的employee表为例,employee表中已写入如下数据。 1,测试用户1,2019-08-10,男 2,测试用户2,2019-08-11,男 3,测试用户3,2019-08-12,男 4,测试用户4,2019-08-13,女 5,测试用户5,2019-08-14,女 执行以下命令迁移数据。 sqoop import --connect jdbc:mysql://172.0.0.0:3306/sqoop_migrate --username 'userid' --password 'PW' --table employee --hive-import --hive-database default --create-hive-table --hive-overwrite -m 1 ; 迁移命令格式:sqoop import --connect jdbc:mysql:// / --username --password --table --check-column --incremental --last-value --fields-terminated-by "\t" --lines-terminated-by "\n" --hive-import --target-dir --hive-table 参数 说明 dburi 数据库的访问连接。例如:jdbc:mysql://172.x.x.x:3306/ 。如果您的访问连接中含有参数,则请加上单引号,例如:'jdbc:mysql://172.x.x.x.235:3306/mydatabase?useUnicode=true&characterEncoding=UTF-8'。 dbname 数据库的名字,例如:user。 username 数据库登录用户名。 password 用户密码。 tablename MySQL数据库中表的名称。 col 迁移表中列的名称。 mode 该模式决定Sqoop如何定义哪些行为新的行。取值:append或lastmodified。 value 前一个导入中检查列的最大值。 hdfs-dir HDFS的写入目录。 hive-tablename 对应的Hive中的表名。 验证迁移结果。 执行select * from default.employee;命令查看表数据,如果表中有如下数据,则表示迁移成功。 1 测试用户1 2019-08-10 男 2 测试用户2 2019-08-11 男 3 测试用户3 2019-08-12 男 4 测试用户4 2019-08-13 女 5 测试用户5 2019-08-14 女 ... Time taken: 0.105 seconds, Fetched: 14 row(s) 将Hive的数据迁移到MySQL上 将Hive的数据迁移到MySQL上,需要先在MySQL上创建好对应Hive数据结构的表,然后在集群Sqoop节点上使用sqoop export命令进行迁移。 此处以迁移Hive上hive_test.txt中的数据为例,hive_test.txt中已写入如下数据。 1,测试用户1,2019-08-10,男 2,测试用户2,2019-08-11,男 3,测试用户3,2019-08-12,男 4,测试用户4,2019-08-13,女 5,测试用户5,2019-08-14,女 在MySQL上的sqoop_migrate库中创建好要导入的表。 use sqoop_migrate ; CREATE TABLE employeeOnHive( id VARCHAR(20), name VARCHAR(20) NOT NULL DEFAULT '', birth VARCHAR(20) NOT NULL DEFAULT '', sex VARCHAR(10) NOT NULL DEFAULT '', PRIMARY KEY(id) ); 执行以下命令迁移数据。 sqoop export --connect jdbc:mysql://172.0.0.0:3306/sqoop_migrate --username 'userid' --password 'userPW' --table employeeOnHive -m 1 --fields-terminated-by ',' --export-dir /user/hive/warehouse/employeeonhive 迁移命令格式:sqoop export --connect jdbc:mysql:// / --username --password --table --export-dir --fields-terminated-by 参数 说明 dburi 数据库的访问连接。例如:jdbc:mysql://172.x.x.x:3306/ 。如果您的访问连接中含有参数,则请加上单引号,例如:'jdbc:mysql://172.x.x.x.235:3306/mydatabase?useUnicode=true&characterEncoding=UTF-8'。 dbname 数据库的名字,例如:user。 username 数据库登录用户名。 password 用户密码。 tablename MySQL数据库中表的名称。 hive-dir 存放待迁移数据的HDFS目录,此处以/sqoop2mysql/table/mysqltest.txt为例。 Splitter Hive中表中数据分隔符。hive默认为“\001”。 验证迁移结果。 执行以下进入数据库。 mysql -uroot -p 执行以下命令使用数据库。 use sqoop_migrate; 执行select * from sqoop_migrate.employeeOnHive;命令查看表数据。 如果表中有如下数据,则表示迁移成功。 +----+---------------+------------+-----+ | id | name | birth | sex | +----+---------------+------------+-----+ | 1 | 测试用户1 | 2019-08-10 | 男 | | 2 | 测试用户2 | 2019-08-11 | 男 | | 3 | 测试用户3 | 2019-08-12 | 男 | | 4 | 测试用户4 | 2019-08-13 | 女 | | 5 | 测试用户5 | 2019-08-14 | 女 | +----+---------------+------------+-----+ 5 rows in set (0.00 sec)
1934890530796658 2020-03-31 02:35:38 0 浏览量 回答数 0

回答

大数据平台的搭建步骤: 1、linux系统安装    一般使用开源版的Redhat系统--CentOS作为底层平台。为了提供稳定的硬件基础,在给硬盘做RAID和挂载数据存储节点的时,需要按情况配置。2、分布式计算平台/组件安装  国内外的分布式系统的大多使用的是Hadoop系列开源系统。Hadoop的核心是HDFS,一个分布式的文件系统。在其基础上常用的组件有Yarn、Zookeeper、Hive、Hbase、Sqoop、Impala、ElasticSearch、Spark等使用开源组件的优点:1)使用者众多,很多bug可以在网上找的答案(这往往是开发中最耗时的地方)。2)开源组件一般免费,学习和维护相对方便。3)开源组件一般会持续更新,提供必要的更新服务『当然还需要手动做更新操作』。4)因为代码开源,若出bug可自由对源码作修改维护。3、数据导入数据导入的工具是Sqoop。用它可以将数据从文件或者传统数据库导入到分布式平台『一般主要导入到Hive,也可将数据导入到Hbase』。4、数据分析数据分析一般包括两个阶段:数据预处理和数据建模分析。数据预处理是为后面的建模分析做准备,主要工作时从海量数据中提取可用特征,建立大宽表。这个过程可能会用到Hive SQL,Spark QL和Impala。数据建模分析是针对预处理提取的特征/数据建模,得到想要的结果。这一块最好用的是Spark。常用的机器学习算法,如朴素贝叶斯、逻辑回归、决策树、神经网络、TFIDF、协同过滤等,都已经在ML lib里面,调用比较方便。5、结果可视化及输出API可视化一般式对结果或部分原始数据做展示。一般有两种情况,行数据展示,和列查找展示。要基于大数据平台做展示,会需要用到ElasticSearch和Hbase。Hbase提供快速『ms级别』的行查找。 ElasticSearch可以实现列索引,提供快速列查找。 大数据平台搭建中的主要问题1、稳定性 Stability 理论上来说,稳定性是分布式系统最大的优势,因为它可以通过多台机器做数据及程序运行备份以确保系统稳定。但也由于大数据平台部署于多台机器上,配置不合适,也可能成为最大的问题。 2、可扩展性 Scalability 如何快速扩展已有大数据平台,在其基础上扩充新的机器是云计算等领域应用的关键问题。在实际2B的应用中,有时需要增减机器来满足新的需求。如何在保留原有功能的情况下,快速扩充平台是实际应用中的常见问题。 来源于网络,供您参考,如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】 希望我的回答对您有所帮助,望采纳! ~ O(∩_∩)O~
保持可爱mmm 2019-12-02 03:03:49 0 浏览量 回答数 0

问题

DATAX hdfsreader读取hive orc 写入mongodb读取端丢数

有张分区每个分区后 5000kw 的表,并行导了几天的数进mongodb, 部分日期 出现 数据丢失。整个过程 datax无报错 ,有的日期丢失超过1000w数据。导入过程后两天出现过 hdfs空间满的情况,也就是 导入时 空间使用率很高,...
bulbcat 2019-12-01 19:26:57 729 浏览量 回答数 0

问题

Cloudera数据分析师上海

[size=font-size:14.0pt,14.0pt][font="]ClouderaData Analyst Training: Using Pig, Hive, and Impala([size=f...
漾漾 2019-12-01 22:07:05 6099 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 企业建站模板