Spark SQL怎么创建编程创建DataFrame

创建DataFrame在Spark SQL中,开发者可以非常便捷地将各种内、外部的单机、分布式数据转换为DataFrame。以下Python示例代码充分体现了Spark SQL 1.3.0中DataFrame数据源的丰富多样和简单易用:

  1. # 从Hive中的users表构造DataFrame
  2. users = sqlContext.table("users")
  3. # 加载S3上的JSON文件
  4. logs = sqlContext.load("s3n://path/to/data.json", "json")
  5. # 加载HDFS上的Parquet文件
  6. clicks = sqlContext.load("hdfs://path/to/data.parquet", "parquet")
  7. # 通过JDBC访问MySQL
  8. comments = sqlContext.jdbc("jdbc:mysql://localhost/comments", "user")
  9. # 将普通RDD转变为DataFrame
  10. rdd = sparkContext.textFile("article.txt") \
  11.                   .flatMap(lambda line: line.split()) \
  12.                   .map(lambda word: (word, 1)) \
  13.                   .reduceByKey(lambda a, b: a + b) \
  14. wordCounts = sqlContext.createDataFrame(rdd, ["word", "count"])
  15. # 将本地数据容器转变为DataFrame
  16. data = [("Alice", 21), ("Bob", 24)]
  17. people = sqlContext.createDataFrame(data, ["name", "age"])
  18. # 将Pandas DataFrame转变为Spark DataFrame(Python API特有功能)
  19. sparkDF = sqlContext.createDataFrame(pandasDF)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值