本网站(662p.com)打包出售,且带程序代码数据,662p.com域名,程序内核采用TP框架开发,需要联系扣扣:2360248666 /wx:lianweikj
精品域名一口价出售:1y1m.com(350元) ,6b7b.com(400元) , 5k5j.com(380元) , yayj.com(1800元), jiongzhun.com(1000元) , niuzen.com(2800元) , zennei.com(5000元)
需要联系扣扣:2360248666 /wx:lianweikj
如何Load TXT 到HDInsight Hive table
iamitnan · 332浏览 · 发布于2019-10-08 +关注

如何Load TXT 到HDInsight Hive table

记得以前做过一个小项目,需要把客户整理的TXT导入到数据库,然后结合客户的需求统计分析特定条件的报表,比如表的schema为:time, name, meeting, level。需求统计特定的时间有多少人开过会等等。

迁移txt到数据库的方法有很多,比如:SSIS或者开发entity framework,读txt文件内容,然后写到数据库。这里我们介绍如何用HDInsight load txt到 HDI hive table,同样可以实现客户的需求。

上传hivetable.txt到HDI的headnode。

SSH到创建好的HDInsight headnode,查看文件内容。

sshuser@hn0-hdites:~$ cat hivetable.txt
linlin,123,male
brian,345,male
lin,567,female


复制txt文件到HDFS存储:

hdfs dfs -copyFromLocal hivetable.txt wasb://hditest-2019-10-06t08-00-38-459z@hditest.blob.core.windows.net/hive/

Note: hditest.blob.core.windows.net为Azure Blob存储数据库。


连接到Hive接口:

beeline -u 'jdbc:hive2://headnodehost:10001/;transportMode=http'


针对TXT文件,创建表结构如下:

CREATE TABLE hiveexample (
name string,
id int,
sex string
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
STORED AS TEXTFILE;


0: jdbc:hive2://headnodehost:10001/> SHOW CREATE TABLE hiveexample;
+--------------------------------------------------------------------------+--+
|                                          createtab_stmt|
+--------------------------------------------------------------------------+--+
| CREATE TABLE `hiveexample`(                                 |
|   `name` string,                                       |
|   `id` int,                                          |
|   `sex` string)                   
| ROW FORMAT DELIMITED                                     |
|   FIELDS TERMINATED BY ','                                |
|   LINES TERMINATED BY '\n'                                |
| STORED AS INPUTFORMAT                                     |
|   'org.apache.hadoop.mapred.TextInputFormat'                    |
| OUTPUTFORMAT                                           |
|   'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'        |
| LOCATION                                             |
|   'wasb://hditest-2019-10-06t08-00-38-459z@hditest.blob.core.windows.net/hive/warehouse/hiveexample'|
| TBLPROPERTIES (                                         |
|   'numFiles'='1',                                      |
|   'numRows'='0',                                       |
|   'rawDataSize'='0',                                    |
|   'totalSize'='49',                                     |
|   'transient_lastDdlTime'='1570359102')                       |
+--------------------------------------------------------------------------+--+
19 rows selected (0.656 seconds)


创建好的表结构如下:

0: jdbc:hive2://headnodehost:10001/> show tables;
+------------------+--+
|     tab_name     |
+------------------+--+
| hiveexample      | |
+------------------+--+


导入HDFS上的存储文件hivetable.txt到表hiveexample:

LOAD DATA INPATH '/hive/hivetable.txt' OVERWRITE INTO TABLE hiveexample;


查看表内容:

0: jdbc:hive2://headnodehost:10001/> select * from hiveexample;
+-------------------+-----------------+------------------+--+
| hiveexample.name  | hiveexample.id  | hiveexample.sex  |
+-------------------+-----------------+------------------+--+
| linlin            | 123             | male             |
| brian             | 345             | male             |
| lin               | 567             | female           |
+-------------------+-----------------+------------------+--+
0: jdbc:hive2://headnodehost:10001/> select * from hiveexample where sex = 'male';
+-------------------+-----------------+------------------+--+
| hiveexample.name  | hiveexample.id  | hiveexample.sex  |
+-------------------+-----------------+------------------+--+
| linlin            | 123             | male             |
| brian             | 345             | male             |
+-------------------+-----------------+------------------+--+
2 rows selected (0.615 seconds)

这样你就可以用SQL的语言对表hiveexample做操作。

个人觉得Hive这个操作起来更灵活,方便,你值得拥有。

相关推荐

怎么学习大数据?

追忆似水年华 · 651浏览 · 2019-05-24 16:12:08
在线制作数据库ER模型

追忆似水年华 · 1124浏览 · 2019-05-24 16:22:01
大数据云迁移的五大要点

奔跑的男人 · 671浏览 · 2019-05-29 11:21:02
大数据零基础学习hadoop入门教程

· 641浏览 · 2019-06-04 10:30:25
加载中

0评论

评论
分类专栏
小鸟云服务器
扫码进入手机网页