当前位置: 首页 > 面试题库 >

将分析数据从Spark插入到Postgres

吴同
2023-03-14
问题内容

我有Cassandra数据库,可以通过Apache
Spark使用SparkSQL从该数据库分析数据。现在我想将那些分析过的数据插入PostgreSQL中。除了使用PostgreSQL驱动程序之外,是否有其他方法可以直接实现此目的(我想通过postREST和Driver实现它,我想知道是否有类似的方法saveToCassandra())?


问题答案:

目前,尚无将RDD写入任何DBMS的本地实现。这里是Spark用户列表中相关讨论的链接:一,二

通常,最有效的方法如下:

  1. 验证RDD中的分区数,它不应太低或太高。如果数目较少,则20-50个分区应该没问题-呼叫repartition20个分区,如果数目较高-呼叫coalesce50个分区
  2. 调用mapPartition转换,在其中调用函数以使用JDBC将记录插入到DBMS中。在此功能中,您可以打开与数据库的连接,并通过此API使用COPY命令,这将使您无需为每个记录使用单独的命令-这样,插入处理将更快

这样,您可以利用最多50个并行连接以并行方式将数据插入Postgres(取决于您的Spark集群大小及其配置)。整个方法可能实现为接受RDD和连接字符串的Java
/ Scala函数



 类似资料:
  • 我在数据库上使用Scala笔记本。我需要执行一个INSERT的数据从一个数据帧到一个表SQL服务器。如果数据已经存在,则不需要修改或插入只插入不存在的数据。 我尝试了这里指定的方法https://docs.databricks.com/spark/latest/data-sources/sql-databases.html#write-然而,它们并没有解决我的用例。保存模式。Append创建重复的

  • 问题内容: 我有一张表格,列出了来自特定网站的评论数量,如下所示: 我还有另一个表,列出了所有站点,例如从1到10 使用以下代码,我可以找出上个月缺少哪些站点条目: 生产: 我希望能够使用一些默认值(即“ 0”)将查询中列出的缺失网站插入到注释表中 问题是,我如何更新/插入表/值? 干杯, 背风处 问题答案:

  • 我有一个来自PHP的json POST URL“http://localhost:8080/demo/test” 我的webController 服务文件 myDAO文件 我怎样才能从URL到这个道上发布数据,我对Java是新的,提前感谢 更新 我发现了这个错误 HTTP错误405访问/backend/test时出现问题。原因:不支持请求方法“Get” 使用getter和setter新建类文件 新

  • 问题内容: 我正在尝试使用angularjs从前端向mysql db插入数据。 但是,即使没有错误消息,它也不会插入数据库 。以下是我使用的代码。 index.html script.js View1.html 以下是我的php文件 insert.php 我知道我在这里做一些愚蠢的事情。我今天才刚刚开始学习angularjs。当我尝试将纯HTML的php代码插入db时,它的工作原理非常完美。希望有

  • 问题内容: 我正在尝试将JTable中的多行数据保存到数据库中,这是我的代码供参考: 问题是,它仅将一行数据插入数据库。有人可以帮帮我吗?:( 谢谢! 问题答案: 从循环中删除以下行代码并将其放置在循环之前 示例: 用以下代码替换您的代码 然后运行它认为它起作用。 对于批量插入示例,请参见https://my.vertica.com/docs/5.0/HTML/Master/14878.htm

  • 查询示例: 典型错误消息: 处理语句时出错:失败:执行错误,从org.apache.hadoop.hive.ql.exec.mr.MapredTask返回代码2 问题2:当我运行命令?我是否只运行相同的命令,但使用STRING而不是bigint?**完整错误消息:**