Spark
文章平均质量分 50
一个不安分的程序员
愿做技术社区的一股清流,让技术帮助更多的人,分享编程感悟,成长我们一直在路上
展开
-
Flink 1.16 idea intellij中运行web ui
/设置为0 每次启动端口都不一样 也可以设置一个固定的端口 如8081。(conf) 时直接设置下这个参数就行了,需要发布运行时也不用再修改代码。在pom.xml文件中添加flink-runtime-web依赖。Flink 1.16.1亲测可用, 先前的版本可能还需要使用。做的事情也无非就时往配置项里添加了个rest.port.在初始化执行环境时传入的配置中添加rest.port项。在浏览器中访问对应链接就可以看到web ui了。//checkpoint配置。//获取Flink的运行环境。原创 2023-03-15 15:51:21 · 790 阅读 · 0 评论 -
sparksql Cannot broadcast the table over xxx
将sql中使用的过滤条件in(selectidfromtable_b)修改为使用semijoin的方式实现。检查SQL中没有join操作。原创 2022-08-01 22:39:56 · 985 阅读 · 0 评论 -
Flink使用Rocksdb状态后端任务运行一段时间后挂掉
问题描述:由于需要存储大量状态信息,在使用Flink Sql开发实时计算作业时配置RocksDB做为状态后端,任务起初运行良好,运行一段时间后有任务偶发性出现失败,(使用yarn logs -applicaitonId)查看作业日志发现以下异常信息:org.apache.flink.runtime.io.network.netty.exception.RemoteTransportException: Connection unexpectedly closed by remote task m原创 2022-04-11 20:09:13 · 2838 阅读 · 0 评论 -
Flink任务报Cannot have more than one execute() or executeAsync() call in a single environment
问题描述:使用Flink 1.12开发的任务在本地IDEA中可以正常运行,发布到集群上报如下错误:java.util.concurrent.CompletionException: org.apache.flink.client.deployment.application.ApplicationExecutionException: Could not execute applicationat java.util.concurrent.CompletableFuture.encodeThr原创 2022-02-23 11:54:16 · 4667 阅读 · 0 评论 -
访问开启Kerberos Kafka集群报Identifier doesn‘t match expected value (906)
问题描述:使用Kafka客户端通过21007端口访问开启Kerberos的集群报以下错误: javax.security.sasl.SaslException: An error: (java.security.PrivilegedActionException: javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mech原创 2022-02-15 09:37:15 · 7034 阅读 · 2 评论 -
Flink读取Hudi表报ArrayIndexOutOfBoundsException
问题描述:使用Flink读取Hudi表一周前还是可以正常读的,现在运行报:java.lang.ArrayIndexOutOfBoundsExceptionat org.apache.hudi.table.format.cow.ParquetSplitReaderUtil.lambda$genPartColumnarRowReader$0(ParquetSplitReaderUtil.java:97)at java.util.stream.IntPipeline$4$1.accept(IntP原创 2022-01-18 15:27:57 · 2612 阅读 · 0 评论 -
Flink学习笔记
在使用Flink过程中往往遇到一个问题调半天,后来发现只是一两个参数设置的不合适。看来还是要“读书”。这里做些摘录,以备需要时查阅。摘录多是别人的经验分享,自己并没有实际验证过,也有可能大家使用的Flink版本差异,有不适用的也在所难免,仅供参考!选择合适的Join实现方式传统批处理使用的3种join实现:1.Nested-loop Join:嵌套循环的join实现方式,简单粗暴的把需要进行join的两个数据集都加载到内存中,然后使用循环遍历的方式根据join条件进行遍历。这种实现方式空间和原创 2022-01-11 18:11:51 · 711 阅读 · 0 评论 -
Flink运行报 I/O error constructing remote block reader
问题描述:IDEA中运行Flink实时计算程序,一直报:WARN org.apache.hadoop.hdfs.client.impl.BlockReaderFactory - I/O error constructing remote block reader.java.nio.channels.CloseByInterruptExceptionat java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterr原创 2021-12-31 19:22:40 · 3080 阅读 · 0 评论 -
Flink本地开发设置jobmanager.memory.heap.size不生效
问题描述:数据开发人员本地IDEA运行Flink应用JobManager内存只有8G,需要设置成16G,通过设置jobmanager.memory.heap.size为16G后,在FlinkUI上看到 jobmanager的配置大型为16G,但可用内存还是8G解决方法:在IDEA运行配置中设置JVM参数 -Xmx16G -Xms16G 解决本地IDEA运行Flink和提交运行方式是不一样的,本地运行内存限制于IDEA启动任务时的JVM参数,官方文档中也有提到:...原创 2021-12-27 10:39:45 · 1715 阅读 · 4 评论 -
Debezium同步MySql数据锁表
问题描述:开启Debezium同步MySql数据任务后,发现查询某个表特别慢,结果迟迟不能返回.通过select * from information_schema.`PROCESSLIST` t where t.user = 'username'查看发现,有大量查询处于 Waiting for table flush 状态解决方法:设置snapshot.locking.mode = none解决.但有丢数据风险,具体详情可以参考这个issue...原创 2021-12-24 15:25:24 · 2888 阅读 · 0 评论 -
Debezium同步PostgreSQL数据报:permission denied for database databaseName
解决Debezium同步PostgreSQL数据报:permission denied for database databaseName原创 2021-12-20 10:14:41 · 5274 阅读 · 0 评论 -
Spark查询Hive表报failed to save roles to cache file
问题描述:使用Spark Sql以yarn client模式读取hive表时报错:failed to save roles to cache file '/opt/bigdata/xxx/xxx/xxx/sparkSql_Hive_roles.json'org.apache.ranger.plugin.util.RangerRolesProvider.saveToCache(RangerRolesProvider.java:312)java.io.FileNotFoundException原创 2021-11-30 17:19:46 · 1541 阅读 · 0 评论 -
Spark Jdbc报NullPointerException
问题描述:运行使用Spark Jdbc读取postgresql程序报错:Exception in thread "main" java.lang.NullPointerExceptionat java.util.Hashtable.put(Hashtable.java:460)at java.util.Properties.setProperty(Properties.java:166)at org.apache.spark.sql.execution.datasources.jdbc原创 2021-11-24 14:22:59 · 2245 阅读 · 0 评论 -
多个Spark任务同时写Hudi表
在实际应用中难免会遇到多个流或批处理程序需要同时操作同一张Hudi表的场景,默认情况下多个程序往同一张Hudi表中写数据时会发生多写冲突造成程序运行失败,要解决并发写问题可以借助Zookeeper实现基于乐观锁的并发写。使用Spark 3.1.1 Hudi 0.9.0 开启乐观锁并发写功能配置参考:writer........//作为分布式锁的zookeeper节点目录.option(HoodieLockConfig.ZK_BASE_PATH.key(), "/hudi/write_l原创 2021-11-05 17:52:22 · 2490 阅读 · 0 评论 -
Hive读取成功用Spark Sql读报SchemaColumnConvertNotSupportedException
问题描述:Hive上有张表在Hue上使用hive引擎查询可以读取到数据,换成Spark Sql引擎查询就报错了:org.apache.spark.sql.execution.datasources.SchemaColumnConvertNotSupportedException atorg.apache.spark.sql.execution.datasources.parquet.VectorizedColumnReader.constructConvertNotSupportedExcep.原创 2021-10-27 16:45:07 · 1311 阅读 · 0 评论 -
使用Hive查询Hudi表结果异常
问题描述:使用Spark写hudi表并同步到hive,然后使用Hue hive查询同步的hudi表。发现对COW类型的表进行count查询和select * 查询出的数据总条数不一致,并且查询MOR表的实时视图也报错:FAILED:Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask解决方法:在执行查询时设置:set hive.input.format=org.apache..原创 2021-10-25 09:58:12 · 1781 阅读 · 3 评论 -
Spark Structured Streaming union数据丢失问题解决
问题描述: 使用Spark Structured Streaming把多个流union all一起处理,发现处理后的结果远远小于4个流数据的总和.解决方法:通过查看Spark UI发现运行时只有一个流并没有多个流Union。排查代码发现是将4个流注册为临时表,然后获取4个流的公共字段的dataset对象后再调用dataset.union方法将4个dataset union到一起,改成将4个流注册为临时表后使用sql union而不是用dataset,问题解决....原创 2021-09-26 16:37:45 · 647 阅读 · 0 评论 -
Spark show多条不截断
问题描述:同事在使用Spark dataset.show查看sql执行结果时,发现显示的条数比预期的少并且有些比较长的字段被自动截断了。解决方法:可以使用dataset.show(最大显示条数)显示更多的数据。可以使用dataset.show(false)指定显示数据时不截断比较长的字段(列)。也可以一起使用dataset.show(最大显示条数,false).如:dataset.show(100,false);//最多显示数据集中的100行并且不对字段做截断处理spar原创 2021-09-26 10:10:58 · 2359 阅读 · 0 评论 -
在foreachBatch中注册的临时表报找不到
问题描述: 使用Spark Structed Streaming时需要把一个流的数据分开写入到不同表中,选择在foreachBatch中对dataset进行过滤并分别写入相应表中。过滤时先将dataset注册为了临时表然后在像往常一样使用spark.sql执行查询sql.虽然写法跟以前一样但却报了错:org.apache.spark.sql.AnalysisException: Table or view not found: xxxxxx;奇了那个怪了.解决方法:...原创 2021-09-03 20:17:11 · 388 阅读 · 1 评论 -
Spark写Hudi同步hive报Socket is closed by peer.
问题描述: 使用Spark3写数据到Hudi可以正常写入,但开启元数据同步到Hive就报错:org.apache.thrift.transport.TTransportException: Socket is closed by peer.org.apache.hadoop.hive.ql.metadata.HiveException:atorg.apache.hadoop.hive.ql.session.SessionState.setAuthorizerV2Conf...原创 2021-09-03 19:53:44 · 2111 阅读 · 2 评论 -
IDEA中运行Spark验证出差
问题描述: 本地开发环境设置好了Hadoop也设置好了Java/Scala/HADOOP_CONF_DIR等环境变量,在IDEA中运行Spark访问服务器Hadoop报:Exception in threa "main" org.apache.hadoop.security.AccessControlException: SIMPLE authentication is not enabled. Available:[TOKEN, KERBEROS]解决方法: ...原创 2021-08-20 20:01:13 · 373 阅读 · 0 评论 -
Hudi中数据重复
问题描述:往Hudi MOR(Merge On Read)表增量写数据,发现数据并没有按主键合并,存在重复数据.主键 ... 分区 1 ... P_1 2 ... P_1 1 ... P_2 3 ... P_2 4 ... P_2 解决方法: 经分析重复数据只存在于不同分区内,如主键为1的数据,同分区内不存在重复数据。基于此可以使用全局(布隆)索引并设置HoodieIndexConf...原创 2021-08-20 19:47:05 · 1860 阅读 · 0 评论 -
最新版Spark 3 HelloWorld
Spark已经发布到3.1.1了,好久没看这个项目了.今天更新下本地仓库,编译下竟然出错了.$mvn compile......[ERROR] [Error] /data/code/github/bigdata/spark/core/src/main/scala/org/apache/spark/SparkContext.scala:403: type mismatch; found : Map[String,org.apache.spark.resource.ResourceInforma原创 2021-03-13 22:31:25 · 382 阅读 · 0 评论