relpipe-data/examples/parallel-hashes-1.sh
author František Kučera <franta-hg@frantovo.cz>
Mon, 03 Feb 2020 22:10:07 +0100
branchv_0
changeset 294 abbc9bcfbcc4
permissions -rwxr-xr-x
Release v0.15 – streamlets, parallel processing

#!/bin/bash

findFiles() {
	find /bin/ -print0;
}

fetchAttributes() {
	relpipe-in-filesystem \
		--parallel 4 \
		--file path \
		--file type \
		--file size \
		--streamlet hash;
}

aggregate() {
	relpipe-tr-sql \
		--relation "file_hashes" \
		"SELECT
			path,
			type,
			size,
			sha256,
			count(*) OVER (PARTITION BY sha256) AS same_hash_count
		FROM filesystem
		ORDER BY same_hash_count, sha256, path, type";
}

findFiles | fetchAttributes | aggregate | relpipe-out-tabular