我想在 python 脚本中访问 HDFS jceks(创建密码别名)以进行安全登录。任何人都可以帮助使用python代码/步骤来做到这一点。
谢谢
您可以使用 hadoop 配置从 python 代码访问密码。
您唯一需要做的就是实例化一个 hadoop 配置并使用该属性 hadoop.security.credential.provider.path
来设置和检索密码getPassword
您也可以使用 Spark 从代码中读取 jecks 密码:
Python:
spark1 = SparkSession.builder.appName("xyz").master("yarn").enableHiveSupport().config("hive.exec.dynamic.partition", "true").config("hive.exec.dynamic.partition.mode", "nonstrict").getOrCreate()
x = spark1.sparkContext._jsc.hadoopConfiguration()
x.set("hadoop.security.credential.provider.path", "jceks://file///localpathtopassword")
a = x.getPassword("<password alias>")
passw = ""
for i in range(a.__len__()):
passw = passw + str(a.__getitem__(i))
在上面的代码中,您将获得密码字符串passw