Похоже, что этот вопрос был рассмотрен ранее here, также описан на этом hortonworks page и в основном состоит из создания и .enc-файла. Вам также необходимо настроить несколько параметров, таких как ключ, чтобы открыть шифрование.
sqoop import \
-Dorg.apache.sqoop.credentials.loader.class=org.apache.sqoop.util.password.CryptoFileLoader \
-Dorg.apache.sqoop.credentials.loader.crypto.passphrase=sqoop2 \
--connect jdbc:mysql://example.com/sqoop \
--username sqoop \
--password-file file:///tmp/pass.enc \
--table tbl
Вот несколько параметров, которые могут быть сконфигурированы (опять же следующие ссылки):
- org.apache.sqoop.credentials.loader.class - учетные данные для фронтальных погрузчиков
- org.apache.sqoop .credentials.loader.crypto.alg - Алгоритм, используемый для дешифрования файла (по умолчанию используется AES/ECB/PKCS5Padding).
- org.apache.sqoop.credentials.loader.crypto.salt - соль, используемая для получения ключа с парольной фразой (по умолчанию SALT).
- org.apache.sqoop.credentials.loader.crypto.iterations - Количество итераций PBKDF2 (по умолчанию - 10000).
- org.apache.sqoop.credentials.loader.crypto.salt.key.len - Производная длина ключа (по умолчанию - 128).
- org.apache.sqoop.credentials.loader.crypto.passphrase Парольная фраза, используемая для получения ключа.
В качестве альтернативы вы можете также следовать Sqoop documentation page и создать пароль псевдоним, который получает извлеченный с реализацией CredentialProviderPasswordLoader
класса. Вы можете увидеть весь класс here