spark sql 会自动进行cache吗
答案:2 悬赏:80 手机版
解决时间 2021-03-03 16:14
- 提问者网友:献世佛
- 2021-03-02 18:13
spark sql 会自动进行cache吗
最佳答案
- 五星知识达人网友:神也偏爱
- 2021-03-02 18:49
1.几种缓存数据的方法
例如有一张Hive表叫做activity
1.CACHE TABLE
//缓存全表
sqlContext.sql("CACHE TABLE activity")
//缓存过滤结果
sqlContext.sql("CACHE TABLE activity_cached as select * from activity where ...")
CACHE TABLE是即时生效(eager)的,如果你想等到一个action操作再缓存数据可以使用CACHE LAZY TABLE,这样操作会直到一个action操作才被触发,例如count(*)
sqlContext.sql("CACHE LAZY TABLE ...")
取消hive表缓存数据
sqlContext.sql("UNCACHE TABLE activity")
例如有一张Hive表叫做activity
1.CACHE TABLE
//缓存全表
sqlContext.sql("CACHE TABLE activity")
//缓存过滤结果
sqlContext.sql("CACHE TABLE activity_cached as select * from activity where ...")
CACHE TABLE是即时生效(eager)的,如果你想等到一个action操作再缓存数据可以使用CACHE LAZY TABLE,这样操作会直到一个action操作才被触发,例如count(*)
sqlContext.sql("CACHE LAZY TABLE ...")
取消hive表缓存数据
sqlContext.sql("UNCACHE TABLE activity")
全部回答
- 1楼网友:杯酒困英雄
- 2021-03-02 20:11
1)过去整个业界对大数据的分析的技术栈的pipeline一般分为以下两种方式:
a)data source -> hdfs -> mr/hive/spark(相当于etl)-> hdfs parquet -> spark sql/impala -> resultservice(可以放在db中,也有可能被通过jdbc/odbc来作为数据服务使用);
b)data source -> real timeupdate data to hbase/db -> export to parquet -> spark sql/impala -> resultservice(可以放在db中,也有可能被通过jdbc/odbc来作为数据服务使用);
上述的第二种方式完全可以通过kafka+spark streaming+spark sql(内部也强烈建议采用parquet的方式来存储数据)的方式取代
2)期待的方式:datasource -> kafka -> spark streaming -> parq
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯