谷歌云存储
本文描述了如何使用砖读写表和数据存储在谷歌云存储(GCS)。
读或写的GCS斗,你必须创建一个附加服务帐户,你必须把桶与服务帐户。你连接到桶直接与一个密钥生成的服务帐户。
访问一个gc桶直接与谷歌云服务帐户的关键
直接读取和写入一桶,你配置中定义的一个关键火花配置。
步骤1:设置谷歌云服务帐户使用Google云控制台
您必须创建一个服务帐户的砖集群。砖推荐给这个服务帐户所需的最小特权来执行其任务。
点击我和管理在左侧导航窗格。
点击服务帐户。
点击+创建服务帐户。
输入服务帐户名称和描述。
点击创建。
点击继续。
点击完成。
步骤2:创建直接访问GCS桶的关键
警告
你生成的JSON关键服务帐户是一个私有密钥,只能共享其控制与授权用户访问数据集和资源云在你的谷歌账户。
在谷歌云控制台中,在服务帐户列表中,单击新创建的帐户。
在键部分中,点击添加键>创建新的键。
接受JSON密钥类型。
点击创建。关键文件被下载到你的电脑。
步骤4:把服务帐户砖秘密的关键
砖建议使用秘密的范围来存储所有的凭证。你可以把关键的私有密钥和私有密钥id JSON文件成砖秘密的范围。能给予用户、服务主体和组织您的工作区中获得阅读的秘密范围。这保护服务帐户关键,同时允许用户访问gc。创建一个秘密范围,明白了秘密。
第五步:配置一个砖集群
在砖的运行时版本的下拉,选择7.3 LTS或以上。
在火花配置选项卡中,使用以下代码片段设置密钥存储在秘密范围作为环境变量:
GSA_PRIVATE_KEY={{秘密/范围/ gsa_private_key}}GSA_PRIVATE_KEY_ID={{秘密/范围/ gsa_private_key_id}}spark.hadoop.google.cloud.auth.service.account。实现真正的spark.hadoop.fs.gs.auth.service.account。电子邮件< client-email >spark.hadoop.fs.gs.project。id <项目id >spark.hadoop.fs.gs.auth.service.account.private。关键GSA_PRIVATE_KEYspark.hadoop.fs.gs.auth.service.account.private.key。id GSA_PRIVATE_KEY_ID
取代
< client-email >
,<项目id >
与这些确切的值字段名称从你关键的JSON文件。
步骤6:从GCS读取
阅读的GCS桶,用火花在任何受支持的格式读取命令,例如:
df=火花。读。格式(“铺”)。负载(“gs: / / < bucket名> / <路径>”)
写GCS桶,使用一个火花写命令在任何受支持的格式,例如:
df。写。格式(“铺”)。模式(“<模式>”)。保存(“gs: / / < bucket名> / <路径>”)
取代< bucket名>
斗中创建的名称步骤3:配置GCS桶。