小编Vij*_*ant的帖子

最佳文件大小和镶木地板块大小

我每天有大约 100 GB 的数据,我使用 Spark 将这些数据写入 S3。写入格式为镶木地板。编写此程序的应用程序运行 Spark 2.3

100 GB 的数据被进一步分区,其中最大的分区是 30 GB。对于这种情况,让我们只考虑 30 GB 的分区。

我们计划在 Spark 2.4 中迁移整个数据并重写到 S3。最初我们在写入 S3 时没有决定文件大小和块大小。现在我们要重写所有内容,我们要考虑最佳文件大小和镶木地板块大小。

  1. 在 parquet 中写入 S3 的最佳文件大小是多少?
  2. 我们可以写 1 个大小为 30 GB 且镶木地板块大小为 512 MB 的文件吗?在这种情况下,阅读将如何工作?
  3. 与 #2 相同,但镶木地板块大小为 1 GB ?

amazon-s3 apache-spark parquet

5
推荐指数
1
解决办法
5725
查看次数

错误的 stdio 转发规范“%h:%p”

[操作系统 - macOS,外壳 - Bash]

我有一个小的 bash 脚本,它根据输入参数生成 ssh 命令。生成的命令是:

ssh -o ProxyCommand='ssh <bastion_name> -W %h:%p' -A -D <port> <username>@<destination_host_name>
Run Code Online (Sandbox Code Playgroud)

该脚本将此命令存储在变量 cmd 中,其中

cmd="ssh -o ProxyCommand='ssh $1 -W %h:%p' -A -D $3 $4@$2"
Run Code Online (Sandbox Code Playgroud)

其中 $1 = 堡垒名称、$2 = 目标主机名称、$3 = 端口、$4 = 用户名。

然后它尝试执行命令,例如

echo "Executing --> $cmd"
$cmd
Run Code Online (Sandbox Code Playgroud)

但它因以下错误而终止,

Bad stdio forwarding specification '%h:%p''
Run Code Online (Sandbox Code Playgroud)

但由于我回显了 cmd,因此我直接在终端中复制粘贴,并且它运行时没有任何错误。

请注意,bastion_name 是通过 ssh 配置解析的,该配置具有为该堡垒主机定义的用户名和其他属性。

因为显然命令是正确的,所以这里有什么问题?

macos bash shell

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

amazon-s3 ×1

apache-spark ×1

bash ×1

macos ×1

parquet ×1

shell ×1