使用sqoop导数据到hdfs 使用hive查询

纪念一下,之前几天想模拟公司将mysql中的数据导到数据平台的操作,看似很简单的操作,可能因为是版本问题出了很多少见的bug,google和stackover都没有解决,最后的安装成功的hadoop版本为2.6.3, HIve版本为1.2.1 sqoop版本为1.4.6,ubuntu14.04.接下去准备系统的学习下。加油!

安装参考的教程http://wenku.baidu.com/link?url=yzhKK4TT19qs6dm06NMTGw8poTgydLly5GLZ6tjCRgNuO7yvuf3SOT_alxLa3KTI7pI__NzK1_RpK9TsAXiU9zLNF5vo9LdbsGp1TyT8WoO
出现什么奇怪的bug的话可以试着按http://www.powerxing.com/install-hadoop/再安装hadoop一遍,都是java项目,以jar方式工作,修改下配置文件和系统PATH即可。

hadoop,hive,sqoop使用教程谷歌搜索很多。

如果出现一些之后按http://www.powerxing.com/install-hadoop/的


hive创建表:
create external table s_coupon(
    id int,                          
    uid int,                         
    pay_order_id int,                
    status int,                      
    template_id int,                 
    received_ts bigint,              
    expire_ts bigint,                
    gmt_create timestamp,            
    gmt_update timestamp             
)
row Format delimited fields terminated by '\001'
stored as textfile
location '/dw/s_coupon';
使用sqoop往hdfs导数据
sqoop  import --connect jdbc:mysql://localhost:3306/buybuybuy --username root --password 123456 --table coupon --verbose --target-dir hdfs://127.0.0.1:9000/dw/s_coupon_tmp --fields-terminated-by '\001'  --hive-drop-import-delims
移动到指定目录
hadoop fs -mv hdfs://127.0.0.1:9000/dw/s_coupon_tmp hdfs://127.0.0.1:9000/dw/s_coupon

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好,要将HDFS上的数据入到Hive中,可以使用Sqoop工具。Sqoop是一个用于在Hadoop和关系型数据库之间进行数据传输的工具。 以下是使用SqoopHDFS数据Hive的一般步骤: 1. 确保您已经安装并配置好了SqoopHive。 2. 在终端中使用以下命令执行Sqoop入操作: ``` sqoop import \ --connect jdbc:mysql://mysql_host:port/database \ --username username \ --password password \ --table table_name \ --hive-import \ --hive-table hive_table_name \ --hive-overwrite ``` 其中,`mysql_host`是MySQL数据库的主机名,`port`是MySQL的端口号,`database`是要入的数据库名称,`username`和`password`是连接MySQL所需的用户名和密码,`table_name`是要入的MySQL表名,`hive_table_name`是要在Hive中创建的表名。 3. 根据需要,您可以为Sqoop入操作提供其他参数,如`--target-dir`来指定HDFS中的目标目录,以及其他Sqoop支持的参数。可以使用`sqoop import --help`命令查看完整的参数列表。 4. 执行命令后,Sqoop将会从MySQL数据库中抽取数据,并将其存储在HDFS上的目标目录中。然后,它将自动在Hive中创建一个与MySQL表结构相匹配的表,并将数据加载到该表中。 请注意,上述命令中的参数和示例是基于MySQL数据库的。如果您使用其他类型的关系型数据库,请根据需要修改连接字符串和其他参数。 希望这些信息对您有所帮助!如果您还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值