【问题标题】:Spark, HiveContext, ThriftServer - Table persistenceSpark、HiveContext、ThriftServer - 表持久化
【发布时间】:2016-03-29 17:56:52
【问题描述】:

我已经配置了数据 SparkStreaming。我想为各种目标保留这些数据:

  • 为 Tableau 公开(它需要 thriftServer,而 thriftServer 需要 hiveContext)。

  • 有时我希望能够更新一些数据。

数据在 HiveContext 中保存在哪里?在记忆中?在本地磁盘上?是thriftServer提供的吗?

【问题讨论】:

    标签: apache-spark hive apache-spark-sql


    【解决方案1】:

    您可以通过执行以下操作将 DataFrame 从 spark 持久化到 hive 表: yourDataFrame.saveAsTable("YourTableName")

    如果您想将数据插入到现有表中,您可以使用: yourDataFrame.writer().mode(SaveMode.Append).saveAsTable("YourTableName")

    这会将您的 DataFrame 保存在持久 Hive 表中。此表的位置将取决于您的 hive-site.xml 中的配置。

    默认情况下,如果您在本地测试,该位置将在您的本地磁盘上的位置/user/hive/warehouse/YourTableName

    如果您在 Yarn/HDFS 上使用带有 Hive 的 Spark,那么该表将保存在 HDFS 上由您的 hive-site.xml 配置文件中的属性 hive.metastore.warehouse.dir 定义的位置

    希望这会有所帮助:)

    【讨论】:

    • 是的,它有帮助。但是,保存表的默认位置是本地磁盘。我还好吗?也可能是HDFS,那我一定要配置HDFS。是真的吗?你能给我关于为 thriftServer 和 spark App 配置 HDFS 的教程的链接吗? apache spark和apache hive是什么关系?
    • 您需要配置您的 spak 以使用 Yarn/HDFS:spark.apache.org/docs/latest/running-on-yarn.html。然后按照此处的说明配置 spark thrift 服务器:spark.apache.org/docs/latest/…
    • Apache spark 使用 Apache Hive 的能力来解析 sql 语句,thrift server 本身就是一个 hiveserver,其引擎是 Spark。有关详细信息,请参阅此答案:stackoverflow.com/a/36189239/1314742
    • 纱线与 HDFS 连接?我的意思是,如果没有纱线可以使用 hdfs 吗?
    • 是的,你可以。但我想既然你使用的是 HDFS 和 Hive,你可能会使用全栈 Yarn/HDFS/Hive/Spark/.... :)
    【解决方案2】:

    您可以选择将数据缓存在内存中使用

    your_hive_context.cacheTable("table_name")

    Thrift 服务器访问包含所有表的全局上下文,甚至是临时表。

    如果您缓存表 Tableau 将更快地获得查询结果,但您必须继续运行 Spark Ba​​tch 应用程序。

    我还没有找到在不打开新 HiveContext 的情况下更新某些数据的方法。

    【讨论】:

    • 好的,您能告诉我 Hive 如何存储我的数据吗?也许好主意是用 Cassandra 代替 hive ? “我还没有找到在不打开新 HiveContext 的情况下更新某些数据的方法。”这是什么意思 ?在我的例子中,beeline 可以看到新插入的数据。
    • 好吧,Hive 将数据存储在磁盘上。将 Cassandra 与 Spark Streaming 结合使用非常普遍。 “我还没有找到在不打开新 HiveContext 的情况下更新某些数据的方法。” 意味着一旦您打开提交应用程序的 HiveContext,Hive 就会访问表的相同“快照”;即使他们实际上是从 Spark Streaming 应用程序获取新数据。
    猜你喜欢
    • 2020-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-17
    • 2018-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多