- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 Python for 循环中执行写入 BigTable 的 Pyspark 语句,这会导致以下错误(使用 Dataproc 提交的作业)。任何客户端未正确关闭(如建议的 here ),如果是,在 Pyspark 中有什么方法可以关闭?
请注意,每次使用新的 Dataproc 作业手动重新执行脚本都可以正常工作,因此作业本身是正确的。
感谢您的支持!
Pyspark 脚本
from pyspark import SparkContext
from pyspark.sql import SQLContext
import json
sc = SparkContext()
sqlc = SQLContext(sc)
def create_df(n_start,n_stop):
# Data
row_1 = ['a']+['{}'.format(i) for i in range(n_start,n_stop)]
row_2 = ['b']+['{}'.format(i) for i in range(n_start,n_stop)]
# Spark schema
ls = [row_1,row_2]
schema = ['col0'] + ['col{}'.format(i) for i in range(n_start,n_stop)]
# Catalog
first_col = {"col0":{"cf":"rowkey", "col":"key", "type":"string"}}
other_cols = {"col{}".format(i):{"cf":"cf", "col":"col{}".format(i), "type":"string"} for i in range(n_start,n_stop)}
first_col.update(other_cols)
columns = first_col
d_catalogue = {}
d_catalogue["table"] = {"namespace":"default", "name":"testtable"}
d_catalogue["rowkey"] = "key"
d_catalogue["columns"] = columns
catalog = json.dumps(d_catalogue)
# Dataframe
df = sc.parallelize(ls, numSlices=1000).toDF(schema=schema)
return df,catalog
for i in range(0,2):
N_step = 100
N_start = 1
N_stop = N_start+N_step
data_source_format = "org.apache.spark.sql.execution.datasources.hbase"
df,catalog = create_df(N_start,N_stop)
df.write\
.options(catalog=catalog,newTable= "5")\
.format(data_source_format)\
.save()
N_start += N_step
N_stop += N_step
Dataproc 作业
gcloud dataproc jobs submit pyspark <my_script>.py \
--cluster $SPARK_CLUSTER \
--jars <path_to_jar>/bigtable-dataproc-spark-shc-assembly-0.1.jar \
--region=us-east1
错误
...
ERROR com.google.bigtable.repackaged.io.grpc.internal.ManagedChannelOrphanWrapper: *~*~*~ Channel ManagedChannelImpl{logId=41, target=bigtable.googleapis.com:443} was not shutdown properly!!! ~*~*~*
Make sure to call shutdown()/shutdownNow() and wait until awaitTermination() returns true.
...
最佳答案
如果您使用的不是最新版本,try updating to it .它看起来类似于 this issue这是最近修好的。我会想象错误消息仍然出现,但现在完成的工作意味着支持团队仍在努力,希望他们会在下一个版本中修复它。
关于google-cloud-platform - Spark-BigTable - HBase 客户端未在 Pyspark 中关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65540042/
为什么 BigTable 被构造为“family:qualifier”的两级层次结构?具体来说,为什么要强制执行此操作而不是仅使用列,并且例如建议用户将其限定符命名为“vertical:column”
Google 现在允许您使用 BigTable(在 Google Cloud Platform 中托管为名为“Cloud Bigtable”的产品)开发应用程序。但是,我找不到太多关于如何为其设计模式
Google Cloud Bigtable 看起来很棒,但是我对备份和冗余有一些疑问。 是否有备份数据以防止人为错误的任何选项? 集群当前在单个区域中运行 - 是否有任何方法可以缓解区域不可用的情况?
我们有一些用例,希望在 Google Bigtable 中长期存储大量数据: 产品开发期间 用于性能调整 用于演示 我们需要存储数据,但我们并不真正需要它始终“在线”。当前的成本瓶颈似乎是节点的成本,
我想衡量 Cloud Bigtable 在获取具有特定前缀的键的许多行计数方面的性能。 假设一个模式的行键在末尾带有 unix 时间戳,例如,event_id#unix_timestamp。 如果我需
根据Cloud Bigtable performance docs我应该有一定的数据量来保证最高的吞吐量。 在“性能较慢的原因”下它说: The workload isn't appropriate
BigTable 是否支持类似于 INCR 的原子增量操作?在 Redis 中? BT的Golang库中有这个函数-https://godoc.org/cloud.google.com/go/bigt
我们正在试用 BigTable 并进行容量规划。我们认为一个节点可以满足我们实现初期的需求,以后我们会根据需要添加更多节点。我唯一的问题是,我们是否需要多个节点才能提供高可用性? (我对什么是“节点”
我们已经设置了具有 5 个节点的 Bigtable 集群,GCP 控制台指出它应该支持 50K QPS @ 6ms 的读取和写入。 我们正在尝试加载一个大型数据集(约 8 亿条记录),其中约 50 个
我有一个只有一个列族的表,该列的 TTL 为 24 小时,但我需要在截止日期前删除一些数据。 为了实现这个目标,我伪造了插入日期。例如:如果我需要在插入后 1 小时删除一行,我将插入日期设置为 23
我有一个只有一个列族的表,该列的 TTL 为 24 小时,但我需要在截止日期前删除一些数据。 为了实现这个目标,我伪造了插入日期。例如:如果我需要在插入后 1 小时删除一行,我将插入日期设置为 23
我正在尝试使用以下 YAML 配置文件部署 Bigtable 实例: resources: - name: foo-bigtable-instance type: bigtableadmin.v2
有人可以提供一个真实的例子来说明如何在 Bigtable 中构建数据吗?请从搜索引擎、社交网络或任何其他熟悉的角度讨论,清楚而务实地说明行 -> 列族 -> 列组合如何优于传统的规范化关系方法。 最佳
我创建了一个 Google Bigtable 集群。我正在尝试连接以下 this tutorial我试图下载他们的 cli 项目并构建它,但是当我尝试执行任何命令时它都会失败。我还尝试构建更简单的连接
避免热点的 Bigtable 行键方案? 一家公司需要您在 Google Bigtable 中创建一个架构,以允许对过去 2 年的记录进行历史分析。收到的每条记录每 15 分钟发送一次,其中包含设备的
我们目前正在调查使用多个列族对我们的 bigtable 查询性能的影响。我们发现将列拆分为多个列族并不会提高性能。有没有人有过类似的经历? 关于我们的基准设置的更多细节。此时,我们生产表中的每一行都包
假设有一行包含列族和其中的列。该列族有一个 gc 策略,并且该列中的所有值都刚刚过期。 那么,该行会发生什么情况?该行会被垃圾收集器删除吗?或者,它仍然存在并且可以访问吗? 我检查了文档,但只发现 h
假设有一行包含列族和其中的列。该列族有一个 gc 策略,并且该列中的所有值都刚刚过期。 那么,该行会发生什么情况?该行会被垃圾收集器删除吗?或者,它仍然存在并且可以访问吗? 我检查了文档,但只发现 h
来自 CBT 的文档 // READING OP HERE timestamp := bigtable.Now() mut := bigtable.NewMutation() mut.Set(colu
来自bigtable的论文。 bigtable我读到了这个: Each METADATA row stores approximately 1KB of data in memory. With a
我是一名优秀的程序员,十分优秀!