我需要一个 Hive 示例项目进行练习。如何处理大型数据库表?我们如何在 Hive 中实际实现查询? [关闭]
Posted
技术标签:
【中文标题】我需要一个 Hive 示例项目进行练习。如何处理大型数据库表?我们如何在 Hive 中实际实现查询? [关闭]【英文标题】:I need a Hive sample projects for practice. How to work on large database tables? How we can actually implement queries in Hive? [closed] 【发布时间】:2015-10-20 07:09:08 【问题描述】:我对 Hadoop 比较熟悉。我想在 Hive 上做一个项目。我有 Hive 的基本知识。但我想知道如何加载大表并对其运行查询。
请分享任何项目的详细信息。
【问题讨论】:
【参考方案1】:Apache Hive ™ 数据仓库软件有助于查询和管理位于分布式存储中的大型数据集。 Hive 提供了一种机制来将结构投影到此数据上,并使用称为 HiveQL 的类似 SQL 的语言查询数据。
看看 Apache HIVE website 和 best practices
看看Hive JDBC 从 java 连接的示例代码
更多 HIVE 教程链接
https://cwiki.apache.org/confluence/display/Hive/Tutorial
http://hortonworks.com/hadoop-tutorial/using-hive-data-analysis/
http://www.dezyre.com/hadoop-tutorial/hive-tutorial
加载数据示例。
有多种方法可以将数据加载到 Hive 表中。用户可以创建一个指向 HDFS 中指定位置的外部表。在这个特定的用法中,用户可以使用 HDFS 的 put 或 copy 命令将文件复制到指定的位置,并创建一个指向该位置的表,其中包含所有相关的行格式信息。完成此操作后,用户可以转换数据并将它们插入到任何其他 Hive 表中。
例如,如果文件 /tmp/pv_2008-06-08.txt 包含 2008-06-08 提供的以逗号分隔的页面视图,并且需要将其加载到相应分区中的 page_view 表中,则按以下顺序的命令可以实现这一点:
CREATE EXTERNAL TABLE page_view_stg(viewTime INT, userid BIGINT,
page_url STRING, referrer_url STRING,
ip STRING COMMENT 'IP Address of the User',
country STRING COMMENT 'country of origination')
COMMENT 'This is the staging page view table'
ROW FORMAT DELIMITED FIELDS TERMINATED BY '44' LINES TERMINATED BY '12'
STORED AS TEXTFILE
LOCATION '/user/data/staging/page_view';
hadoop dfs -put /tmp/pv_2008-06-08.txt /user/data/staging/page_view
FROM page_view_stg pvs
INSERT OVERWRITE TABLE page_view PARTITION(dt='2008-06-08', country='US')
SELECT pvs.viewTime, pvs.userid, pvs.page_url, pvs.referrer_url, null, null, pvs.ip
WHERE pvs.country = 'US';
【讨论】:
pv_2008-06-08.txt 文件从何而来?以上是关于我需要一个 Hive 示例项目进行练习。如何处理大型数据库表?我们如何在 Hive 中实际实现查询? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章