小编fly*_*zai的帖子

DataFrame - ValueError:StructType 的意外元组

我正在尝试为dataframe. 我传入的数据是从json. 这是我的初始数据:

json2 = sc.parallelize(['{"name": "mission", "pandas": {"attributes": "[0.4, 0.5]", "pt": "giant", "id": "1", "zip": "94110", "happy": "True"}}'])
Run Code Online (Sandbox Code Playgroud)

然后这里是如何指定架构:

schema = StructType(fields=[
    StructField(
        name='name',
        dataType=StringType(),
        nullable=True
    ),
    StructField(
        name='pandas',
        dataType=ArrayType(
            StructType(
                fields=[
                    StructField(
                        name='id',
                        dataType=StringType(),
                        nullable=False
                    ),
                    StructField(
                        name='zip',
                        dataType=StringType(),
                        nullable=True
                    ),
                    StructField(
                        name='pt',
                        dataType=StringType(),
                        nullable=True
                    ),
                    StructField(
                        name='happy',
                        dataType=BooleanType(),
                        nullable=False
                    ),
                    StructField(
                        name='attributes',
                        dataType=ArrayType(
                            elementType=DoubleType(),
                            containsNull=False
                        ),
                        nullable=True

                    )
                ]
            ),
            containsNull=True
        ),
        nullable=True
    )
])
Run Code Online (Sandbox Code Playgroud)

当我使用sqlContext.createDataFrame(json2, schema)然后尝试对结果执行操作show()时,dataframe我收到以下错误: …

python dataframe apache-spark apache-spark-sql pyspark

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

如何在Redshift中为对象创建依赖项列表?

我的团队的观点建立在建立在视图之上的视图上,所以经常DROP TABLE CASCADE是灾难和大量试验和错误的处方.

我想要的是一个返回所有依赖对象的查询,这些对象需要在给定的情况下以正确的顺序重新创建schema,table以便它们可以自动化并在脚本中运行.我正在使用Redshift DROP TABLE文档http://docs.aws.amazon.com/redshift/latest/dg/r_DROP_TABLE.html上的依赖查询的修改版本.

它似乎是返回视图及其依赖项,但不是常规表.我觉得我很亲密,我错过了什么?

WITH dependencies AS (
    SELECT DISTINCT
      cls1.oid     AS tbloid,
      nsp1.nspname AS schemaname,
      cls1.relname AS name,
      nsp2.nspname AS refbyschemaname,
      cls2.relname AS refbyname,
      cls2.oid     AS viewoid
    FROM pg_catalog.pg_class cls1
      JOIN pg_catalog.pg_depend dep1
        ON cls1.relfilenode = dep1.refobjid
      JOIN pg_catalog.pg_depend dep2
        ON dep1.objid = dep2.objid
      JOIN pg_catalog.pg_class cls2
        ON dep2.refobjid = cls2.relfilenode
      LEFT OUTER JOIN pg_namespace nsp1
        ON cls1.relnamespace = nsp1.oid
      LEFT OUTER JOIN pg_namespace nsp2
        ON cls2.relnamespace …
Run Code Online (Sandbox Code Playgroud)

sql amazon-redshift

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

'number%2:'和'number%2 == 0'之间的差异?

我正在学习Python的布尔逻辑以及如何缩短内容.标题中的两个表达式是否相同?如果没有,它们之间有什么区别?

python python-3.x

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

如果列内容太长,如何使用spark-redshift截断列?

我想知道spark-redshift如果列内容太长,如何截断列,而不是返回错误.

amazon-redshift apache-spark

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

我可以将 Luigi 管道错误路由到 Sentry 吗?

我的团队用于Sentry跟踪错误,因此我不希望使用 Luigi 的内置电子邮件功能将所有报告保存在一个地方。

这就是我目前的设置方式,它似乎完全跳过了 Sentry:

if __name__ == '__main__':
    try:
        luigi.run()
    except Exception as e:
        client = Client(
            ***
        )
        client.captureException(tags={
            sys.argv[0]
        })
        logger.critical('Error occurred: {e}'.format(e=e))
        raise
Run Code Online (Sandbox Code Playgroud)

python sentry luigi

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

如何在docker-compose中使用本地Docker镜像?

我有一个docker-compose文件,并希望能够从本地缓存中的图像中旋转出一张图像,而不是从dockerhub中拉出图像。我正在使用sbt docker插件,因此我可以看到正在创建的图像,并且可以docker images在命令行中看到。但是,当我这样做时,docker-compose up -d myimage它始终默认为远程映像。如何强制它使用本地图像?

这是我的撰写文件的相关部分:

spark-master:
    image: gettyimages/spark:2.2.0-hadoop-2.7
    command: bin/spark-class org.apache.spark.deploy.master.Master -h spark-master
    hostname: spark-master
    environment:
      MASTER: spark://spark-master:7077
      SPARK_CONF_DIR: /conf
      SPARK_PUBLIC_DNS: localhost
    expose:
      - 7001
      - 7002
      - 7003
      - 7004
      - 7005
      - 7006
      - 7077
      - 6066
    ports:
      - 4040:4040
      - 6066:6066
      - 7077:7077
      - 8080:8080
    volumes:
      - ./conf/master:/conf
      - ./data:/tmp/data

  hydra-streams:
    image: ****/hydra-spark-core
    command: bin/spark-class org.apache.spark.deploy.worker.Worker spark://spark-master:7077
    hostname: worker
    environment:
      SPARK_CONF_DIR: /conf
      SPARK_WORKER_CORES: 2
      SPARK_WORKER_MEMORY: 1g
      SPARK_WORKER_PORT: 8881
      SPARK_WORKER_WEBUI_PORT: 8091
      SPARK_PUBLIC_DNS: …
Run Code Online (Sandbox Code Playgroud)

docker

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

如何通过simple_salesforce进行Salesforce Bulk API调用?

我正在使用该模块simple-salesforce,我在文档中没有看到有关进行批量API调用的任何内容.有人知道怎么做吗?

https://github.com/simple-salesforce/simple-salesforce

python salesforce simple-salesforce

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

值 * 不是类型参数 Int 的成员

package impatient.mapsAndTups.objects


abstract class UnitConversion {
  def convert[T](x: T): T
}

class Inches2Centimeters extends UnitConversion {
  override def convert[Int](x: Int): Int = x * 100
}

object Conversions extends App {
  val c = new Inches2Centimeters()

  println(c.convert(15))
}
Run Code Online (Sandbox Code Playgroud)

我不明白为什么前面的代码无法编译。我收到错误:

Error:(9, 46) value * is not a member of type parameter Int
  override def convert[Int](x: Int): Int = x * 100
Run Code Online (Sandbox Code Playgroud)

我可以做什么来解决这个问题?

scala

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

为具有多种记录类型的数组创建 avro 模式?

我正在为 JSON 有效负载创建一个 avro 模式,该有效负载似乎具有多个对象的数组。我不确定如何在模式中表示这一点。有问题的关键是content

{
  "id": "channel-id",
  "name": "My Channel with a New Title",
  "description": "Herpy me derpy merpus herpsum ner berp berps derp ter tee",
  "privacyLevel": "<private|org>",
  "planId": "some-plan-id",
  "owner": "a-user-handle",
  "curators": [
    "user-handle-1",
    "user-handle-2"
  ],
  "members": 5,
  "content": [
    {
      "id": "docker",
      "slug": "docker",
      "index": 1,
      "type": "path"
    },
    {
      "id": "such-linkage",
      "slug": "such-linkage",
      "index": 2,
      "type": "external-link",
      "details": {
        "url": "http://some-dank-link.com",
        "title": "My Dank Link",
        "contentType": "External Link",
        "level": "Beginner",
        "duration": "PT34293H33M9S"
      }
    }, …
Run Code Online (Sandbox Code Playgroud)

avro

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

关于何时撰写以及何时使用$的困惑

returnGreater :: (Ord a) => a -> a -> a
returnGreater a b
  | (a > b) = a
  | otherwise = b

returnGreatest2 :: (Ord a, Num a) => a -> a -> a -> (a, a)
returnGreatest2 a b c
  | (a > b) = (a, returnGreater b c)
  | otherwise = (b, returnGreater a c)

sumOfSquares :: (Num a) => (a, a) -> a
sumOfSquares (a, b) = a^2 + b^2
Run Code Online (Sandbox Code Playgroud)

鉴于上述功能,我很困惑为什么let x = sumOfSquares . …

haskell

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