hdfs dfs -du -h hdfs://hacluster/user/hive/warehouse/
时间: 2023-08-04 16:09:48 浏览: 278
对于HDFS上Hive仓库目录的大小查询,可以使用以下命令:
```shell
hdfs dfs -du -h hdfs://hacluster/user/hive/warehouse/
```
- `hdfs dfs -du`: 使用Hadoop DFS命令来显示文件和目录的大小。
- `-h`: 以人类可读的格式显示文件大小(例如,使用KB、MB、GB等单位)。
- `hdfs://hacluster/user/hive/warehouse/`: 这是HDFS上Hive仓库目录的路径。
执行该命令后,将显示Hive仓库目录的总大小,以及各个子目录和文件的大小信息。
请确保将`hdfs://hacluster/user/hive/warehouse/`替换为实际的Hive仓库目录路径。
相关问题
sqoop import --connect jdbc:mysql://192.168.160.130:3306/mydb --username root --password jqe6b6 --table news --hive-import --hive-table mydb.news --incremental append --check-column --last-value 0 --split-by news --target-dir /hdfs://zhaosai:9000/user/hive/warehouse/news
根据您提供的 Sqoop 命令,您需要指定一个有效的 `--check-column` 参数,以便 Sqoop 使用该列来确定哪些行是新的或更新的。在您的命令中,`--check-column` 参数后面缺少列名,因此导致了错误。
请在 `--check-column` 参数后面指定一个有效的列名,例如:
```
sqoop import --connect jdbc:mysql://192.168.160.130:3306/mydb --username root --password jqe6b6 --table news --hive-import --hive-table mydb.news --incremental append --check-column id --last-value 0 --split-by news --target-dir /hdfs://zhaosai:9000/user/hive/warehouse/news
```
在上面的命令中,我将 `--check-column` 参数的值设置为 `id`,因为在您的表结构中没有一个适合作为检查列的整数类型列或时间戳列。
请注意,如果您使用的是自定义查询而不是简单的表导入,则需要使用 `--query` 参数来指定查询语句,并在查询语句中包含 `--check-column` 和 `--split-by` 参数的值。
sqoop import --connect jdbc:mysql://192.168.160.130:3306/mydb --username root --password jqe6b6 --table news --hive-import --hive-table mydb.news --incremental append --check-column keyword --last-value 0 --split-by text --target-dir /hdfs://zhaosai:9000/user/hive/warehouse/news
根据您提供的 Sqoop 命令,您需要指定一个有效的检查列和拆分列,以便 Sqoop 正确地执行增量导入操作。
在您的命令中,`--check-column` 参数的值设置为 `keyword`,但是这是一个字符类型的列,不适合用作检查列。您需要使用一个可比较且唯一的列来确定哪些行是新的或更新的。一般情况下,我们使用整数类型的自增主键作为检查列。如果您的表没有自增主键,您可以使用一个时间戳列作为检查列,例如更新时间戳。
同时,`--split-by` 参数的值设置为 `text`,但是这也是一个字符类型的列,不适合用作拆分列。拆分列应该是一个数值类型的列,例如整数类型的自增主键。如果您没有适合用作拆分列的数值类型列,可以使用 `--autoreset-to-one-mapper` 参数将并行度设置为 1,以避免拆分数据。
因此,您可以尝试将 `--check-column` 参数的值修改为一个适合用作检查列的整数类型列或时间戳列,例如 `id` 或 `update_time`。如果您没有这样的列,可以考虑使用 `--append` 参数来执行简单的表导入而不是增量导入。另外,您还需要将 `--split-by` 参数的值修改为一个适合用作拆分列的数值类型列,例如 `id`。
例如,命令可以修改为:
```
sqoop import --connect jdbc:mysql://192.168.160.130:3306/mydb --username root --password jqe6b6 --table news --hive-import --hive-table mydb.news --incremental append --check-column id --last-value 0 --split-by id --target-dir /hdfs://zhaosai:9000/user/hive/warehouse/news --autoreset-to-one-mapper
```
在上面的命令中,我将 `--check-column` 参数的值设置为 `id`,并将 `--split-by` 参数的值也设置为 `id`,同时使用 `--autoreset-to-one-mapper` 参数将并行度设置为 1,以避免拆分数据。
阅读全文