【问题标题】:data insertion into hive table数据插入 hive 表
【发布时间】:2013-06-20 17:37:29
【问题描述】:

我想将数据插入到 hive 表中。

1) 创建数据库。

2) 在特定数据库中创建表。

3) 在特定位置创建一个虚拟表。

4)使用虚拟表向主表插入数据。

当我插入数据过程完成时,无异常但数据未插入表中。

hive> create database final;

好的 耗时:2.56 秒

hive> create table final.abc (user_name string, password string)
> ROW FORMAT DELIMITED   
> FIELDS TERMINATED BY ',' 
> LINES TERMINATED BY '\n'
> STORED AS TEXTFILE;

好的 耗时:0.591 秒

hive> create table foo (user string , password string)          
> ROW FORMAT DELIMITED   
> FIELDS TERMINATED BY ',' 
> LINES TERMINATED BY '\n'
> STORED AS TEXTFILE
> Location '/usr/hive/hive-0.10.0/fiels';

好的 耗时:0.051 秒

hive> insert into table final.abc select 'username','password' from foo;

Total MapReduce jobs = 3
Launching Job 1 out of 3
Number of reduce tasks is set to 0 since there's no reduce operator
Starting Job = job_201306191046_0002, Tracking URL =/jobdetails.jsp?jobid=job_201306191046_0002
Kill Command = /usr/hadoop/hadoop-1.1.2/libexec/../bin/hadoop job  -kill job_201306191046_0002
Hadoop job information for Stage-1: number of mappers: 0; number of reducers: 0
2013-06-19 12:04:36,870 Stage-1 map = 0%,  reduce = 0%
2013-06-19 12:04:37,878 Stage-1 map = 100%,  reduce = 100%
Ended Job = job_201306191046_0002
Ended Job = -331805541, job is filtered out (removed at runtime).
Ended Job = -1750065493, job is filtered out (removed at runtime).
Moving data to: hdfs://localhost:9000/tmp/hive-root/hive_2013-06-19_12-04-32_830_4819535129373917658/-ext-10000
Loading data to table final.abc
Table final.abc stats: [num_partitions: 0, num_files: 0, num_rows: 0, total_size: 0, raw_data_size: 0]

MapReduce Jobs Launched: 
Job 0:  HDFS Read: 0 HDFS Write: 0 SUCCESS
Total MapReduce CPU Time Spent: 0 msec
OK
Time taken: 5.475 seconds

如果有什么想法请给我建议。我哪里错了。

【问题讨论】:

  • 你应该在虚拟表中至少有一行数据

标签: hadoop hive


【解决方案1】:
select 'username','password' from foo 

上面的命令应该至少显示一行,然后才能将数据插入到新表中。

所以将一些示例数据文件上传到/usr/hive/hive-0.10.0/fiels,以便您的查询正常工作。

使用如下数据创建示例文件

username,password

将该文件上传到 hadoop 集群

hadoop fs -put filename /usr/hive/hive-0.10.0/fiels

【讨论】:

  • 文件夹中的任何txt文件是否同名?
  • 该文件夹下的任何文件都将作为输入
  • 现在我在文件夹中有一个文本文件。比我遵循相同的程序,但也得到 0 行更新。
  • 第一次测试 select 'username','password' from foo 如果给出任何数据,那么只能插入数据
猜你喜欢
  • 2019-12-09
  • 2017-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-18
  • 1970-01-01
相关资源
最近更新 更多