小编Jos*_*ben的帖子

有没有办法为Python对象的所有成员打印文档字符串的简短版本?

在Python中dir()返回当前本地范围中的名称列表. __doc__返回对象的完整文档字符串.

如何列出当前本地范围内的所有名称并打印每个项目文档字符串的第一行?

为了详细说明:对import numpy as np我想获得通过返回的所有名称的简短描述的列表,dir(np)print(np.nonzero.__doc__.split('.', 1)[0]).

我怎样才能做到这一点 ?

python oop methods docstring metaprogramming

7
推荐指数
1
解决办法
78
查看次数

如何处理BigTable Scan InvalidChunk异常?

我试图扫描BigTable数据,其中一些行是"脏" - 但这取决于扫描失败,导致(序列化?)InvalidChunk异常.代码如下:

from google.cloud import bigtable
from google.cloud import happybase
client = bigtable.Client(project=project_id, admin=True)
instance = client.instance(instance_id)
connection = happybase.Connection(instance=instance)
table = connection.table(table_name)

for key, row in table.scan(limit=5000):  #BOOM!
    pass
Run Code Online (Sandbox Code Playgroud)

省略一些列或将行限制为更少或指定开始和停止键,允许扫描成功.我无法从堆栈跟踪中检测出哪些值存在问题 - 它在列之间变化 - 扫描失败.这使得在源头清理数据成为问题.

当我利用python调试器时,我看到chunk(类型为google.bigtable.v2.bigtable_pb2.CellChunk)没有值(它是NULL/undefined):

ipdb> pp chunk.value
b''
ipdb> chunk.value_size
0
Run Code Online (Sandbox Code Playgroud)

我可以使用rowkey中的HBase shell来确认这一点(我从self._row.row_key获得)

所以问题就变成了:BigTable如何扫描过滤掉具有未定义/空/空值的列?

我从两个谷歌云API中得到同样的问题,这些API返回生成器,这些生成器在内部将数据作为块通过gRPC传输:

  • google.cloud.happybase .table.Table# 扫描()
  • google.cloud.bigtable .table.Table #read_rows().consume_all()

缩写的stacktrace如下:

---------------------------------------------------------------------------
InvalidChunk                              Traceback (most recent call last)
<ipython-input-48-922c8127f43b> in <module>()
      1 row_gen …
Run Code Online (Sandbox Code Playgroud)

python happybase google-cloud-bigtable

6
推荐指数
1
解决办法
222
查看次数

如何对express-graphql突变进行单元测试?

我有一个带有查询的Express-GraphQL API和一个可在GraphiQL中工作的突变,查询的单元测试有效,但突变的单元测试返回405错误。我的GraphQL模式如下:

type Subject {
  type: String
}

type Category {
  name: String
}

type SubjectCategories {
  subject: Subject
  categories: [Category]
}

type Query {
    subjectCategories(subjectType: String!): SubjectCategories
}

type Mutation {
    addSubjectCategory(subjectType: String! categoryName: String!): SubjectCategories
}
Run Code Online (Sandbox Code Playgroud)

为了简化这个问题,这些方法的实现只是回显:

echoGetSubjectCategory({subjectType}, context) {
    const subject = new Subject(subjectType);
    const category = new Category("blah");
    const retval = {
      subject,
      categories: [category],
    };
    return retval;
}
echoMutateSubjectCategory({subjectType, categoryName}, context) {
    const subject = new Subject(subjectType);
    const category = new Category(categoryName);
    const retval = …
Run Code Online (Sandbox Code Playgroud)

jestjs graphql graphql-js express-graphql

4
推荐指数
1
解决办法
1081
查看次数

如何在tf.Transform中使用Google DataFlow Runner和Templates?

我们正在Google Cloud上建立机器学习管道,利用GC ML-Engine进行分布式TensorFlow培训和模型服务,并利用DataFlow进行分布式预处理作业.

我们希望在Google Cloud上运行我们的Apache Beam应用程序作为DataFlow作业.看看ML-Engine样本 ,似乎可以得到tensorflow_transform.beam.impl AnalyzeAndTransformDataset来指定使用哪个PipelineRunner,如下所示:

from tensorflow_transform.beam import impl as tft
pipeline_name = "DirectRunner"
p = beam.Pipeline(pipeline_name) 
p | "xxx" >> xxx | "yyy" >> yyy | tft.AnalyzeAndTransformDataset(...)
Run Code Online (Sandbox Code Playgroud)

TemplatingDataflowPipelineRunner提供了将预处理开发与参数化操作分开的功能 - 请参阅此处:https://cloud.google.com/dataflow/docs/templates/overview-基本上:

  • A)在PipelineOptions派生类型中,将选项类型更改为ValueProvider(python方式:类型推断或类型提示???)
  • B)将跑步者改为TemplatingDataflowPipelineRunner
  • C) mvn原型:生成以GCS存储模板(python方式:像TF Hypertune一样的yaml文件???)
  • D)运行gcloud beta数据流作业--gcs-location -parameters

现在的问题是:你能告诉我,我们怎能用tf.Transform利用TemplatingDataflowPipelineRunner

google-cloud-dataflow tensorflow apache-beam google-cloud-ml google-cloud-ml-engine

1
推荐指数
1
解决办法
656
查看次数