Hadoop 中的神秘表创建

HadoopHadoopBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

欢迎来到神秘的 Banister Isle,一个非凡与平凡交织的地方。这里居住着神秘的巫师 Hadrian,他是秘术艺术的大师。他最新的努力是解开古老 Hadoop 卷轴的秘密,这些卷轴拥有揭示数据组织和操作之谜的力量。

你的任务,如果你选择接受,就是协助巫师 Hadrian 在 Hadoop Hive 的领域中创建表。这个强大的工具允许你构建和存储大量数据,使你能够提取有价值的见解并揭示隐藏的模式。在这个实验中,你将学习创建表的复杂性,为深入理解 Hadoop 的功能奠定基础。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hadoop(("Hadoop")) -.-> hadoop/HadoopHDFSGroup(["Hadoop HDFS"]) hadoop(("Hadoop")) -.-> hadoop/HadoopYARNGroup(["Hadoop YARN"]) hadoop(("Hadoop")) -.-> hadoop/HadoopHiveGroup(["Hadoop Hive"]) hadoop/HadoopHDFSGroup -.-> hadoop/hdfs_setup("HDFS Setup") hadoop/HadoopYARNGroup -.-> hadoop/yarn_setup("Hadoop YARN Basic Setup") hadoop/HadoopHiveGroup -.-> hadoop/hive_setup("Hive Setup") hadoop/HadoopHiveGroup -.-> hadoop/hive_shell("Hive Shell") hadoop/HadoopHiveGroup -.-> hadoop/manage_db("Managing Database") hadoop/HadoopHiveGroup -.-> hadoop/create_tables("Creating Tables") hadoop/HadoopHiveGroup -.-> hadoop/load_insert_data("Loading and Inserting Data") hadoop/HadoopHiveGroup -.-> hadoop/import_export_data("Importing and Exporting Data") hadoop/HadoopHiveGroup -.-> hadoop/schema_design("Schema Design") subgraph Lab Skills hadoop/hdfs_setup -.-> lab-288962{{"Hadoop 中的神秘表创建"}} hadoop/yarn_setup -.-> lab-288962{{"Hadoop 中的神秘表创建"}} hadoop/hive_setup -.-> lab-288962{{"Hadoop 中的神秘表创建"}} hadoop/hive_shell -.-> lab-288962{{"Hadoop 中的神秘表创建"}} hadoop/manage_db -.-> lab-288962{{"Hadoop 中的神秘表创建"}} hadoop/create_tables -.-> lab-288962{{"Hadoop 中的神秘表创建"}} hadoop/load_insert_data -.-> lab-288962{{"Hadoop 中的神秘表创建"}} hadoop/import_export_data -.-> lab-288962{{"Hadoop 中的神秘表创建"}} hadoop/schema_design -.-> lab-288962{{"Hadoop 中的神秘表创建"}} end

导航到 Hadoop 环境

在这一步中,我们将通过导航到 Hadoop 用户的主目录来为你的后续任务准备环境。

首先,打开一个终端窗口,并通过运行以下命令切换到 hadoop 用户:

su - hadoop

系统不会提示你输入密码。成功切换到 hadoop 用户后,你的当前工作目录应该是 /home/hadoop

创建数据库

在创建表之前,我们需要一个数据库来存储它们。在这一步中,我们将创建一个名为 magic_realm 的新数据库。

在终端中,运行以下命令以启动 Hive CLI:

hive

当 Hive CLI 启动后,执行以下命令来创建 magic_realm 数据库:

CREATE DATABASE magic_realm;

你应该会看到一个成功消息,表明数据库已成功创建。

创建表

现在我们已经有了一个数据库,接下来让我们在其中创建第一个表。这个表将存储关于 Banister Isle 上各种魔法生物的信息。

首先,在 Hive CLI 中运行以下命令切换到 magic_realm 数据库:

USE magic_realm;

接下来,创建一个名为 creatures 的表,其结构如下:

CREATE TABLE creatures (
  id INT,
  name STRING,
  species STRING,
  habitat STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ',';

这条命令创建了一个名为 creatures 的表,包含四列:

  • id:一个整数值,表示生物的唯一标识符。
  • name:一个字符串值,表示生物的名称。
  • species:一个字符串值,表示生物的物种。
  • habitat:一个字符串值,表示生物的栖息地。

ROW FORMAT DELIMITED 子句指定表中的数据将以逗号(,)分隔。

加载数据到表中

现在我们已经创建了 creatures 表,接下来是时候用数据填充它了。我们将使用一个包含各种魔法生物信息的示例数据文件。

首先,在 /home/hadoop 目录下创建一个名为 data 的新目录:

mkdir /home/hadoop/data

接下来,在 /home/hadoop/data 目录下创建一个名为 creatures.csv 的文件,内容如下:

1,Unicorn,Equine,Forest
2,Phoenix,Avian,Volcanic Regions
3,Mermaid,Aquatic,Oceans
4,Griffon,Hybrid,Mountains

保存文件并退出文本编辑器。

然后,确保你处于 Hive shell 中。如果不在,可以通过运行以下命令启动它:

hive

使用以下命令切换到 magic_realm 数据库:

USE magic_realm;

现在,我们可以在 Hive CLI 中使用以下命令将 creatures.csv 中的数据加载到 creatures 表中:

LOAD DATA LOCAL INPATH '/home/hadoop/data/creatures.csv' INTO TABLE creatures;

这条命令将本地文件 /home/hadoop/data/creatures.csv 中的数据加载到 creatures 表中。

总结

在本实验中,你协助巫师 Hadrian 探索了 Hadoop Hive 的领域,并掌握了创建表的技巧。你学习了如何创建数据库、定义表结构以及将数据加载到表中。这些基础技能将成为你进入数据操作和分析世界的基石。

随着你继续学习,你将更深入地探索 Hadoop Hive 的复杂性,解锁其全部潜力,以揭示隐藏在庞大数据集中的奥秘。请记住,通往精通的道路在于勤奋的练习和坚定不移的决心。拥抱挑战,让古老卷轴的智慧指引你成为一名真正的数据巫师。