1. 启动 hadoop
hadoop@dblab-VirtualBox:~$ cd /usr/local/hadoop
hadoop@dblab-VirtualBox:/usr/local/hadoop$ ./sbin/start-all.sh
...
hadoop@dblab-VirtualBox:/usr/local/hadoop$ jps
5827 DataNode
6390 ResourceManager
5510 NameNode
6220 SecondaryNameNode
6702 NodeManager
7023 Jps
hadoop@dblab-VirtualBox:/usr/local/hadoop$ 

先进入:

cd /usr/local/hive

然后:

nohup bin/hive --service metastore &
 
nohup bin/hive --service hiveserver2 &

查看端口(存在 10000):

netstat -ntpl

jps 查看:

hive的10000端口启动不起来及beeline启动报错问题_hive端口号10000没有启动_周公解码的博客-CSDN博客

5827 DataNode
8021 RunJar
6390 ResourceManager
5510 NameNode
7878 RunJar
6220 SecondaryNameNode
8381 Jps
6702 NodeManager

多出两个 RunJar 后来用jps命令查看:看服务器是不是两个RunJar(一个RunJar是metastore(元数据),一个RunJar是hiveserver2)

image.png

所以执行下面语句,才能全部启动

./sbin/start-all.sh
This script is Deprecated. Instead use **start-dfs.sh** and **start-yarn.sh**

如何连接虚拟机中的MYSQL_怎么连接虚拟机的数据库-CSDN博客

坑: 物理机 ping 虚拟机 ip 不同

查看虚拟机 ifconfig 发现只有 lo 无 env 33

Ubuntu忘记超级用户root密码,重新设置密码_忘记ubuntu的root密码-CSDN博客

虚拟机不能上网,ifconfig后只有lo,没有ens33等信息_虚拟机ifconfig只有lo-CSDN博客

navicat 连接mysql报错2002-Cant‘t connect to server on “localhost“(10061)_2002cant connect to server on-CSDN博客

MySQL错误:Can’t connect to MySQL server (10060) 解决方案 - Felix-Zhang - 博客园

上传 HDFS

  • 1、启动 hdfs
    
 cd /usr/local/hadoop  
    
 ./sbin/start-all.sh  
  • 2、创建hdfs目录
 cd /usr/local/hadoop  
    
 ./bin/hdfs dfs -mkdir -p /dbpatent/test/  
  • 2.1、删除csv文件
 ./bin/hdfs dfs -rm /dbpatent/dataset/affair.csv  
  • 3、上传本地文件

cd /usr/local/hadoop  
    
 ./bin/hdfs dfs -put /usr/local/dbpatent/dataset/cited_info.csv /dbpatent/dataset/  
    
 ./bin/hdfs dfs -put /usr/local/dbpatent/dataset/citing_info.csv /dbpatent/dataset/  
    
 ./bin/hdfs dfs -put /usr/local/dbpatent/dataset/base_info.csv /dbpatent/dataset/  
    
 ./bin/hdfs dfs -put /usr/local/dbpatent/dataset/affair.csv /dbpatent/dataset/

Hive 中创建外部表的语法

在 Hive 中,创建外部表的语法如下:

sqlCopy code

`CREATE EXTERNAL TABLE [IF NOT EXISTS] [db_name.]table_name [(col_name data_type [COMMENT col_comment], ...)] [COMMENT table_comment] [PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)] [ROW FORMAT row_format] [STORED AS file_format] [LOCATION 'hdfs_path'] [TBLPROPERTIES (property_name=property_value, ...)];`

下面是对上述语法的详细解释:

  1. CREATE EXTERNAL TABLE: 这是创建外部表的关键字。

  2. [IF NOT EXISTS]: 可选项,表示如果表已经存在,是否忽略创建操作。

  3. [db_name.]table_name: 表的名称,可以包括数据库名称和表名称。如果不提供数据库名称,则默认使用默认数据库。

  4. [(col_name data_type [COMMENT col_comment], ...)]: 定义表的列及其数据类型。你可以列出每个列的名称、数据类型和可选的列注释。

  5. [COMMENT table_comment]: 可选项,允许你为表添加一个描述性的注释。

  6. [PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)]: 可选项,用于定义分区列。分区列用于分割表的数据。你可以列出每个分区列的名称、数据类型和可选的列注释。

  7. [ROW FORMAT row_format]: 可选项,用于定义数据的行格式。通常用于指定字段分隔符和字段转义字符等信息。

  8. [STORED AS file_format]: 可选项,指定数据文件的存储格式,如 Parquet、ORC、TextFile 等。

  9. [LOCATION 'hdfs_path']: 可选项,指定表的数据存储位置,即数据文件所在的HDFS路径。对于外部表,数据不会被复制到Hive的默认存储位置,而是留在指定的路径中。

  10. [TBLPROPERTIES (property_name=property_value, ...)]: 可选项,允许你指定表的属性。这些属性可以用于自定义表的行为和设置。

创建外部表后,你可以使用 LOAD DATA INPATH 命令将数据加载到表中,或者直接查询数据。外部表与内部表的主要区别在于,外部表不管理数据的存储,而是将数据保留在指定的路径中,因此对外部表的操作不会影响数据的存储位置。