- 启动 hadoop
先进入:
cd /usr/local/hive
然后:
查看端口(存在 10000):
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)
所以执行下面语句,才能全部启动
./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博客
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]
: 可选项,指定数据文件的存储格式,如 Parquet、ORC、TextFile 等。 -
[LOCATION 'hdfs_path']
: 可选项,指定表的数据存储位置,即数据文件所在的HDFS路径。对于外部表,数据不会被复制到Hive的默认存储位置,而是留在指定的路径中。 -
[TBLPROPERTIES (property_name=property_value, ...)]
: 可选项,允许你指定表的属性。这些属性可以用于自定义表的行为和设置。
创建外部表后,你可以使用 LOAD DATA INPATH
命令将数据加载到表中,或者直接查询数据。外部表与内部表的主要区别在于,外部表不管理数据的存储,而是将数据保留在指定的路径中,因此对外部表的操作不会影响数据的存储位置。