将 Presto on Cloud Dataproc 与 Google Cloud SQL 一起使用?

Using Presto on Cloud Dataproc with Google Cloud SQL?

我同时使用 Hive 和 MySQL(通过 Google Cloud SQL) and I want to use Presto to connect to both easily. I have seen there is a Presto initialization action 用于 Cloud Dataproc,但它不适用于开箱即用的 Cloud SQL。我怎样才能获得该初始化操作使用 Cloud SQL 所以我可以同时使用 Hive/Spark 和 Cloud SQL with Presto?

最简单的方法是编辑在 Cloud Dataproc 集群上安装 Presto 的初始化操作。

云SQL设置

但是,在执行此操作之前,请确保配置云 SQL 以便它可以与 Presto 一起使用。您将需要:

  1. 为 Presto 创建用户(或准备好用户)
  2. 调整任何必要的防火墙规则,以便您的 Cloud Dataproc 集群可以连接到云 SQL 实例

更改初始化动作

在 Presto 初始化操作中有一个设置 Hive 配置的部分,如下所示:

cat > presto-server-${PRESTO_VERSION}/etc/catalog/hive.properties <<EOF
connector.name=hive-hadoop2
hive.metastore.uri=thrift://localhost:9083
EOF

您可以像这样(如下)添加一个新部分来设置 mysql 属性。添加如下内容:

cat > presto-server-${PRESTO_VERSION}/etc/catalog/mysql.properties <<EOF
connector.name=mysql
connection-url=jdbc:mysql://<ip_address>:3306
connection-user=<username>
connection-password=<password>
EOF

您显然希望用正确的值替换 <ip_address><username><password>。此外,如果您有 多个 云 SQL 实例要连接,您可以添加多个部分并给它们不同的名称,只要文件名以 .properties 结尾.