Spark-SQL 插入HIVE
Spark-SQL plug in on HIVE
HIVE 有一个 Metastore,HIVESERVER2 监听 SQL 请求;在 Metastore 的帮助下,执行查询并将结果传回。
Thrift 框架实际上被定制为HIVESERVER2。通过这种方式,HIVE 充当服务。通过编程语言,我们可以使用HIVE作为数据库。
Spark-SQL与HIVE的关系是:
Spark-SQL 仅使用 HIVE 设置(HDFS 文件系统、HIVE Metastore、Hiveserver2)。当我们调用 /sbin/start-thriftserver2.sh(存在于 spark 安装中)时,我们应该提供 hiveserver2 端口号和主机名。然后通过 spark 的直线,我们实际上可以在 HIVE 中创建、删除和操作 tables。 API 可以是 Spark-SQL 或 HIVE QL。
如果我们创建一个 table / 删除一个 table,如果我们登录到 HIVE 并检查(比如通过 HIVE 直线或 HIVE CLI),它将清晰可见。换句话说,通过 Spark 所做的更改可以在 HIVE tables.
中看到
我的理解是 Spark 不像 HIVE 那样有自己的元存储设置。 Spark 仅利用 HIVE 设置,只需通过 Spark SQL API.
执行 SQL
我的理解对吗?
然后我对 bin/spark-sql.sh 的用法有点困惑(它也存在于 Spark 安装中)。文档说通过这个 SQL shell,我们可以像上面那样创建 tables(通过 Thrift Server/Beeline)。现在我的问题是:那么spark是如何维护元数据信息的呢?
或者像第一种方法一样,我们可以让 spark-sql CLI 与 HIVE 通信(具体来说:HIVE 的 hiveserver2)?
如果是,我们该怎么做?
提前致谢!
My understanding is that Spark does not have its own meta store setup like HIVE
如果未提供 Hive 元存储,Spark 将自行启动 Derby 服务器
can we make spark-sql CLI to communicate to HIVE
启动外部 Metastore 进程,使用 hive.metastore.uris
将 hive-site.xml
文件添加到 $SPARK_CONF_DIR
,或使用 SET
SQL 相同的语句。
然后 spark-sql
CLI 应该可以查询 Hive 表。从代码中,您需要在 SparkSession 上使用 enableHiveSupport()
方法。
HIVE 有一个 Metastore,HIVESERVER2 监听 SQL 请求;在 Metastore 的帮助下,执行查询并将结果传回。 Thrift 框架实际上被定制为HIVESERVER2。通过这种方式,HIVE 充当服务。通过编程语言,我们可以使用HIVE作为数据库。
Spark-SQL与HIVE的关系是:
Spark-SQL 仅使用 HIVE 设置(HDFS 文件系统、HIVE Metastore、Hiveserver2)。当我们调用 /sbin/start-thriftserver2.sh(存在于 spark 安装中)时,我们应该提供 hiveserver2 端口号和主机名。然后通过 spark 的直线,我们实际上可以在 HIVE 中创建、删除和操作 tables。 API 可以是 Spark-SQL 或 HIVE QL。 如果我们创建一个 table / 删除一个 table,如果我们登录到 HIVE 并检查(比如通过 HIVE 直线或 HIVE CLI),它将清晰可见。换句话说,通过 Spark 所做的更改可以在 HIVE tables.
中看到我的理解是 Spark 不像 HIVE 那样有自己的元存储设置。 Spark 仅利用 HIVE 设置,只需通过 Spark SQL API.
执行 SQL我的理解对吗?
然后我对 bin/spark-sql.sh 的用法有点困惑(它也存在于 Spark 安装中)。文档说通过这个 SQL shell,我们可以像上面那样创建 tables(通过 Thrift Server/Beeline)。现在我的问题是:那么spark是如何维护元数据信息的呢?
或者像第一种方法一样,我们可以让 spark-sql CLI 与 HIVE 通信(具体来说:HIVE 的 hiveserver2)? 如果是,我们该怎么做?
提前致谢!
My understanding is that Spark does not have its own meta store setup like HIVE
如果未提供 Hive 元存储,Spark 将自行启动 Derby 服务器
can we make spark-sql CLI to communicate to HIVE
启动外部 Metastore 进程,使用 hive.metastore.uris
将 hive-site.xml
文件添加到 $SPARK_CONF_DIR
,或使用 SET
SQL 相同的语句。
然后 spark-sql
CLI 应该可以查询 Hive 表。从代码中,您需要在 SparkSession 上使用 enableHiveSupport()
方法。