首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache Spark Structured Streaming (DataStreamWriter)写入配置单元表

问Apache Spark Structured Streaming (DataStreamWriter)写入配置单元表
EN

Stack Overflow用户
提问于 2018-02-06 05:17:15
回答 1查看 1.6K关注 0票数 1

我希望使用火花结构流从卡夫卡读取数据,并处理它,并写入蜂窝表。

代码语言:javascript
复制
 val spark = SparkSession
   .builder
   .appName("Kafka Test")
   .config("spark.sql.streaming.metricsEnabled", true)
   .config("spark.streaming.backpressure.enabled", "true")
   .enableHiveSupport()
   .getOrCreate()

val events = spark
  .readStream
  .format("kafka")
  .option("kafka.bootstrap.servers", "xxxxxxx")
  .option("startingOffsets", "latest")
  .option("subscribe", "yyyyyy")
  .load


val data = events.select(.....some columns...)

data.writeStream
  .format("parquet")
  .option("compression", "snappy")
  .outputMode("append")
  .partitionBy("ds")
  .option("path", "maprfs:/xxxxxxx")
  .start()
  .awaitTermination()

这确实创建了一个parquet文件,但是我如何将其更改为类似的内容,以便将其写入可使用(select * from)从hive或spark-sql读取的表格式。

代码语言:javascript
复制
data.write.format("parquet").option("compression", "snappy").mode("append").partitionBy("ds").saveAsTable("xxxxxx")
EN

回答 1

Stack Overflow用户

发布于 2018-02-07 17:11:40

我会推荐你看看Kafka Connect for writing the data to HDFS。它是开源的,可以使用standalone或作为Confluent Platform的一部分。

为了过滤和转换数据,您可以使用Kafka Streams或KSQL。KSQL运行在Kafka Streams之上,为您提供了一种非常简单的方式来连接数据、过滤数据和构建聚合。

以下是在KSQL中聚合数据流的示例

代码语言:javascript
复制
SELECT PAGE_ID,COUNT(*) FROM PAGE_CLICKS WINDOW TUMBLING (SIZE 1 HOUR) GROUP BY PAGE_ID

请参阅this blog中的KSQL。您可能还对使用这些组件构建流数据管道的this talk感兴趣

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48631622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档