SQL

#SQL#

已有10人关注此标签

内容分类

宋淑婷

来自Spark的S3写入间歇性地失败,错误代码为404 NoSuchKey

我每隔5分钟写入s3的spark作业(EMR),每天都会写几次,但有以下异常。知道是什么原因引起的吗? 码: ds.write .mode("overwrite") .format("parquet") .save("s3://....") org.apache.spark.SparkException: Task failed while writing rows.at org.apache.spark.sql.execution.datasources.FileFormatWriter$.org$apache$spark$sql$execution$datasources$FileFormatWriter$$executeTask(FileFormatWriter.scala:285)at org.apache.spark.sql.execution.datasources.FileFormatWriter$$anonfun$write$1.apply(FileFormatWriter.scala:197)at org.apache.spark.sql.execution.datasources.FileFormatWriter$$anonfun$write$1.apply(FileFormatWriter.scala:196)at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:87)at org.apache.spark.scheduler.Task.run(Task.scala:109)at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:345)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)at java.lang.Thread.run(Thread.java:748)Caused by: java.io.IOException: com.amazon.ws.emr.hadoop.fs.shaded.com.amazonaws.services.s3.model.AmazonS3Exception: The specified key does not exist. (Service: Amazon S3; Status Code: 404; Error Code: NoSuchKey; Request ID: ABC4A49392884812; S3 Extended Request ID: ed+11111OKdq5jh8qY65Atc5Q33FHxy7Lzm0aWwxiHL9hhOxN+28eEPZobvLveGoJnzCoSEXsH4=), S3 Extended Request ID: ed+11111OKdq5jh8qY65Atc5Q33FHxy7Lzm0aWwxiHL9hhOxN+28eEPZobvLveGoJnzCoSEXsH4=at com.amazon.ws.emr.hadoop.fs.s3.MultipartCopyManager.copy(MultipartCopyManager.java:180)at com.amazon.ws.emr.hadoop.fs.s3n.Jets3tNativeFileSystemStore.copy(Jets3tNativeFileSystemStore.java:425)at com.amazon.ws.emr.hadoop.fs.s3n.S3NativeFileSystem.rename(S3NativeFileSystem.java:1300)at com.amazon.ws.emr.hadoop.fs.EmrFileSystem.rename(EmrFileSystem.java:321)at org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter.mergePaths(FileOutputCommitter.java:457)at org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter.mergePaths(FileOutputCommitter.java:471)at org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter.commitTask(FileOutputCommitter.java:582)at org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter.commitTask(FileOutputCommitter.java:545)at com.amazon.emr.committer.FilterParquetOutputCommitter.commitTask(FilterParquetOutputCommitter.java:119)at com.amazon.emr.committer.EmrOptimizedSparkSqlParquetOutputCommitter.commitTask(EmrOptimizedSparkSqlParquetOutputCommitter.java:9)

宋淑婷

可以将spark配置为将空数据集推断为空模式吗

我们有很多parquet数据集,按年/月/日/小时划分。 只有一个_SUCCESS文件,其中一些时间是空的。 我们实现迭代所有分区并执行工作的作业。打开空数据集时遇到问题。org.apache.spark.sql.AnalysisException: Unable to infer schema for Parquet. It must be specified manually. (使用EMR5.3.0 - 我们正在努力摆脱依赖,以便我们可以升级到更高版本) Spark-shell示例: Welcome to ____ __ / __/__ ___ _____/ /__ _\ \/ _ \/ _ `/ __/ '_/ /___/ .__/_,_/_/ /_/_ version 2.1.0 /_/ Using Scala version 2.11.8 (OpenJDK 64-Bit Server VM, Java 1.8.0_121)Type in expressions to have them evaluated.Type :help for more information. scala> val df = spark.read.parquet("s3://some-bucket/empty-dataset/")org.apache.spark.sql.AnalysisException: Unable to infer schema for Parquet. It must be specified manually.; at org.apache.spark.sql.execution.datasources.DataSource $$ anonfun$8.apply(DataSource.scala:189) at org.apache.spark.sql.execution.datasources.DataSource $$ anonfun$8.apply(DataSource.scala:189)正如spark所说,我可以指定一个模式,但这对我来说是不切实际的,因为模式很大并且每个分区不同(不要问)。 我首选的解决方案是,如果可以将spark配置为将空数据集推断为空模式。

宋淑婷

如何通过Spark SQL连接BigQuery?

data = pd.read_gbq(SampleQuery, project_id='XXXXXXXX', private_key='filename.json')这里的filename.json具有以下格式: { "type": "service_account", "project_id": "projectId", "private_key_id": "privateKeyId", "private_key": "privateKey", "client_email": "clientEmail", "client_id": "clientId", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/clientEmail"}现在,我需要将此代码移植到pyspark。但是我很难找到如何使用Spark SQL进行查询。我正在使用AWS EMR集群来运行此查询!

李博bluemind

一条sql语句,有必要加开启spring事务?

本问题来自云栖社区【阿里Java技术进阶2群】。https://yq.aliyun.com/articles/690084 点击链接欢迎加入社区大社群。

小白dora

1百万数据点查, 你是怎么做到69万的tps的

[postgres@cnsz92pl00192 data]$pgbench -M prepared -h 127.0.0.1 -p 10002 -n -r -f ~/data/test.sql -c 64 -j 64 -T 10 transaction type: /home/postgres/data/test.sqlscaling factor: 1query mode: preparednumber of clients: 64number of threads: 64duration: 10 snumber of transactions actually processed: 49050latency average = 13.107 mstps = 4882.839136 (including connections establishing)tps = 8783.875162 (excluding connections establishing)statement latencies in milliseconds: 0.002 \set id random(1,1000000) 7.225 select id from tbl_ip where id=:id; [postgres@cnsz92pl00192 data]$pgbench -M prepared -h 127.0.0.1 -p 10002 -n -r -f ~/data/test.sql -c 64 -j 64 -T 20transaction type: /home/postgres/data/test.sqlscaling factor: 1query mode: preparednumber of clients: 64number of threads: 64duration: 20 snumber of transactions actually processed: 95789latency average = 13.400 mstps = 4776.021870 (including connections establishing)tps = 8375.462545 (excluding connections establishing)statement latencies in milliseconds: 0.002 \set id random(1,1000000) 7.583 select id from tbl_ip where id=:id; [postgres@cnsz92pl00192 data]$pgbench -M prepared -h 127.0.0.1 -p 10002 -n -r -f ~/data/test.sql -c 128 -j 128 -T 20transaction type: /home/postgres/data/test.sqlscaling factor: 1query mode: preparednumber of clients: 128number of threads: 128duration: 20 snumber of transactions actually processed: 105182latency average = 24.477 mstps = 5229.411053 (including connections establishing)tps = 18263.330523 (excluding connections establishing)statement latencies in milliseconds: 0.001 \set id random(1,1000000) 6.890 select id from tbl_ip where id=:id; 本问题来自云栖社区【PostgreSQL技术进阶社群】。https://yq.aliyun.com/articles/690084 点击链接欢迎加入社区大社群。

小白dora

问个问题, 传一个动态sql 执行报错

问个问题, 传一个动态sql 执行报错,org.postgresql.util.PSQLException: 错误: 语法错误 在 "$1" 或附近的,这个要怎么解决

小白dora

citus不支持复杂sql吗,试了下,好多都都不支持 1.with 临时表不支持 2.递归recursive不支持 3.union all不支持 4.子查询不支持

citus不支持复杂sql吗,试了下,好多都都不支持1.with 临时表不支持2.递归recursive不支持3.union all不支持4.子查询不支持 本问题来自云栖社区【PostgreSQL技术进阶社群】。https://yq.aliyun.com/articles/690084 点击链接欢迎加入社区大社群。

小白dora

请问PG里没有没有倒转一个数组的函数?或者哪位能不写存储过程,用一个SQL语句完成这个功能?

请问PG里没有没有倒转一个数组的函数?或者哪位能不写存储过程,用一个SQL语句完成这个功能? 本问题来自云栖社区【PostgreSQL技术进阶社群】。https://yq.aliyun.com/articles/690084 点击链接欢迎加入社区大社群。

小白dora

Postgresql里面如何知道一段sql的执行的进度?例如:预计要1S完成,现在已经执行了10%这种,有没有技术可以做到

Postgresql里面如何知道一段sql的执行的进度?例如:预计要1S完成,现在已经执行了10%这种,有没有技术可以做到现在有个需求:通过PG导出数据(数据量比较大),用户想看到当前的进度(以前都是前端模拟的,假的进度),现在想知道真实执行的sql的真实进度 本问题来自云栖社区【PostgreSQL技术进阶社群】。https://yq.aliyun.com/articles/690084 点击链接欢迎加入社区大社群。

小白dora

请教一下,有没有好用的postgresql数据库对比工具?我需要对比两个数据库字段属性和数据,最好可以生成sql

请教一下,有没有好用的postgresql数据库对比工具?我需要对比两个数据库字段属性和数据,最好可以生成sql 本问题来自云栖社区【PostgreSQL技术进阶社群】。https://yq.aliyun.com/articles/690084 点击链接欢迎加入社区大社群。

linzun123

Flink可以实现类似scoop的功能吗

flink将mysql数据导入到phoenix,类似scoop一样,支持自定义sql,表链接配置,像scoop一样的写法

neilshi

postgresql 11 procedure 中 事务管理功能 是否有 后续完善计划?

PG11中 Procedure中虽然能使用 commit 管理事务,但 它目前的使用限制非常非常多! 使用中非常容易遇到 ERROR: invalid transaction termination,有的时候是莫名奇妙,甚至在PG文档中都找不到说明.感觉 与 oracle,sql server 中 存储过程 自己管理事务的功能 还差得很远。pg 12 中有没有完善这方面的计划呢?

李博bluemind

redis作为数据库的缓存,但redis不支持sql查询?

redis作为数据库的缓存,但redis不支持sql查询?如何解决?

李博bluemind

redis资源释放问题

代码中需要用到redis,但是总会由于各种异常导致redis资源无法释放,导致获取不到资源。代码逻辑如下,求大神优化:{声明redis;获取redis;执行sql逻辑代码1;执行逻辑代码2;释放redis;}结果异常往往出现在执行sql查询,导致redis不能释放,所以改进版(1)如下:声明redis;try{ 获取redis;执行sql逻辑代码1;执行逻辑代码2;}catch(){ }finally{ 释放redis;} 但是这样,发现把所有的业务逻辑都包在了try-catch中,求大神帮忙改进怎样释放redi最好改进方法(2)如下:{声明redis;redis包装类进行查询删除操作1(在redis包装类每次操作后进行try-catch-finally释放);执行sql逻辑代码1;redis包装类进行查询删除操作2(在redis包装类每次操作后进行try-catch-finally释放);执行逻辑代码2;}

游客xtsof5nnlgvra

亲自带队,与多位重量级技术大咖共同亮相ICDE 2019。 阵容包括:Goog

亲自带队,与多位重量级技术大咖共同亮相ICDE 2019。 阵容包括:Google第一代分布式SQL系统Tenzing核心人物、阿里云OLAP产品分析引擎负责人林亮深耕数据库领域近20年、云数据库MySQL开发团队负责人吕漫漪等一线技

小白dora

打听一下,PG12有 完善 Procedure 事务管理 功能的 计划吗? PG11中 Procedure中虽然能使用 commit 管理事务,但 它目前的使用限制非常非常多! 使用中非常容易遇到 ERROR: invalid transaction termination,有的时候是莫名奇妙,在PG文档中都找不到.感觉 与 oracle,sql server 中 存储过程 自己管理事务的功能 还差得很远。

打听一下,PG12有 完善 Procedure 事务管理 功能的 计划吗?PG11中 Procedure中虽然能使用 commit 管理事务,但 它目前的使用限制非常非常多! 使用中非常容易遇到 ERROR: invalid transaction termination,有的时候是莫名奇妙,在PG文档中都找不到.感觉 与 oracle,sql server 中 存储过程 自己管理事务的功能 还差得很远。

我叫石头

这个sql应该怎么样优化呢?求大神指点

SELECT * FROM (SELECT "operator_order".*, ROW_NUMBER() OVER (PARTITION BY operator_order.order_num ) AS num_index FROM comp.operator_order AS operator_order WHERE ( grade_list AND ( '{5,7,8,9,10,11}' ) ) AND ( paid_time BETWEEN '2018-03-19 04:00:44+00:00:00' AND '2019-03-20 04:00:44+00:00:00' ) ORDER BY "order_time" DESC) AS operator WHERE num_index = 1 LIMIT 20

我叫石头

查询sql中出现自定义函数,就不能并行查询计算了吗

查询sql中出现自定义函数,就不能并行查询计算了吗

我叫石头

greenplum有没有插件支持sql结果缓存?

greenplum有没有插件支持sql结果缓存?