caching - 如何在 Spark SQL 中缓存和持久化临时表?

标签 caching python-import apache-spark-sql pyspark

我有用于读取文本文件并用作内存中已注册临时表的工作代码。我想使用脚本或模块导入加载一组这些表,然后以交互方式查询它们。如果将此代码放入脚本和函数中,我应该返回哪个对象? sc 上下文? table ? HadoopRDD?

file = "/file.tsv"
lines = sc.textFile(file)
parts = lines.map(lambda l: l.split("\t")).filter(lambda line:len(line)==7)

active_sessions = parts.map(lambda p: Row( 
    session=p[0]
    , user_id=p[1]
    , created=p[2]
    , updated=p[3]
    , id=p[4]
    , deleted=p[5]
    , resource_id=p[6]))

schemaTable = sqlContext.inferSchema(active_sessions)
schemaTable.registerTempTable("active_sessions")
sqlContext.cacheTable("active_sessions")

最佳答案

我遇到了同样的问题并最终返回:

return sqlContext.table("active_sessions")

虽然我已经将它注册为一个表而不是一个 temptable,但它也适用于 temptables。

关于caching - 如何在 Spark SQL 中缓存和持久化临时表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29210897/

相关文章:

python - Apache Spark - 将 UDF 的结果分配给多个数据框列

caching - 如何缓存 Google map 图 block 以供离线使用?

python - ImportError:没有名为 mock 的模块

c# - 如何在 ASP.NET 5 DI 中配置嵌套依赖?

python - 将实例命名为与模块相同的名称是否可以?

python - ndimage 不在 SciPy 中

sql - 使用 Spark SQL 将一列拆分为多列

python - 使用 OR 运算符的 DataFrame UserWarning

javascript - 如何在 Service Worker 中编辑请求 url?

javascript - 如何取消编辑/禁用缓存输入(文本类型)值?