zoukankan      html  css  js  c++  java
  • spark配置(3)

    缓存

    Spark 支持在集群范围内将数据集缓存至每一个节点的内存中,可避免数据传输,当数据需要重复访问时这个特征非常有用,例如查询体积小的“热”数据集,或是运行如 PageRank 的迭代算法。调用 cache(),就可以将数据集进行缓存:

    1. linesWithSpark.cache()


    Spark SQL 和 DataFrames

    Spark SQL 是 Spark 内嵌的模块,用于结构化数据。

    在 Spark 程序中可以使用 SQL 查询语句或 DataFrame API

    DataFrames 和 SQL 提供了通用的方式来连接多种数据源,支持 Hive、Avro、Parquet、ORC、JSON、和 JDBC,并且可以在多种数据源之间执行 join 操作。

    Spark SQL 的功能是通过 SQLContext 类来使用的,而创建 SQLContext 是通过 SparkContext 创建的。

    1. val df = sqlContext.read.json("file:///usr/local/spark/examples/src/main/resources/people.json")
    2. // df: org.apache.spark.sql.DataFrame = [age: bigint, name: string]
    3. df.show()     // 输出数据源内容
    4. // +----+-------+
    5. // | age|   name|
    6. // +----+-------+
    7. // |null|Michael|
    8. // |  30|   Andy|
    9. // |  19| Justin|
    10. // +----+-------+

    DataFrames 处理结构化数据的一些基本操作:

    1. df.select("name").show()    // 只显示 "name"
    2. // +-------+
    3. // |   name|
    4. // +-------+
    5. // |Michael|
    6. // |   Andy|
    7. // | Justin|
    8. // +-------+
    9. df.select(df("name"), df("age") + 1).show()   // "age" 1
    10. // +-------+---------+
    11. // |   name|(age + 1)|
    12. // +-------+---------+
    13. // |Michael|     null|
    14. // |   Andy|       31|
    15. // | Justin|       20|
    16. // +-------+---------+
    17. df.filter(df("age") > 21).show()     # 条件语句
    18. // +---+----+
    19. // |age|name|
    20. // +---+----+
    21. // | 30|Andy|
    22. // +---+----+
    23. df.groupBy("age").count().show()   // groupBy 操作
    24. // +----+-----+
    25. // | age|count|
    26. // +----+-----+
    27. // |null|    1|
    28. // |  19|    1|
    29. // |  30|    1|
    30. // +----+-----+

    也可以使用 SQL 语句来进行操作:

    1. df.registerTempTable("people")     // DataFrame 注册为临时表 people
    2. val result = sqlContext.sql("SELECT name, age FROM people WHERE age >= 13 AND age <= 19")  // 执行 SQL 查询
    3. result.show()        // 输出结果
    4. // +------+---+
    5. // |  name|age|
    6. // +------+---+
    7. // |Justin| 19|
    8. // +------+---+

    更多的功能可以查看完整的 DataFrames API ,此外 DataFrames 也包含了丰富的 DataFrames Function 可用于字符串处理、日期计算、数学计算等。


    转载参考自:http://www.powerxing.com/spark-quick-start-guide/ 





  • 相关阅读:
    opencv 单应矩阵
    对极约束
    opencv Mat 操作
    两个视角得到世界坐标系
    opencv storage 操作C++
    Python操作mysql数据库
    java——保留一位、两位小数
    数据库 select from 库名 表名 的用法
    python 使用国内镜像下载插件及报错Could not fetch URL https://pypi.org/simple/pywinauto/: There was a problem co解决方法
    pycharm下载第三方库AttributeError: module 'pip' has no attribute 'main'问题解决
  • 原文地址:https://www.cnblogs.com/iathena/p/5615741.html
Copyright © 2011-2022 走看看