小编Wae*_*eCo的帖子

sbt只获取依赖项

有没有办法只下载依赖项但不编译源代码.

我在问,因为我正在尝试为我的大项目构建一个Docker构建环境.Idear是在docker build我克隆项目期间,下载所有依赖项然后删除代码.然后使用docker run -v将频繁更改的代码安装到docker容器中并开始编译项目.

目前我只是在构建期间编译代码,然后在运行时再次编译它.问题是,当依赖关系发生变化时,我必须从头开始构建,这需要很长时间.

sbt docker

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

Struct初始化程序中的匿名联合

为什么以下示例在C中不起作用?

#include <stdio.h>

typedef struct {
  int x;
} X;

typedef struct {
  char y[10];
} Y;

typedef struct {
  int pos;
  union {
    X x;
    Y y;
  };
} Test;

int main() {
  X x = { 65 };
  Y y = { "Hallo" };
  Test t = { 1, x }; // OK
  printf("1: %d %d '%s'\n", t.pos, t.x.x, t.y.y);
  Test t2 = { 2, y }; // ERROR
  printf("2: %d %d '%s'\n", t2.pos, t2.x.x, t2.y.y);
  Test t3 …
Run Code Online (Sandbox Code Playgroud)

c struct initialization unions

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

将文件名附加到RDD

我有一个包含我的数据文件的文件夹。每个文件的大小约为1 GB。

我需要的是RDD中的文件名。

以下无法正常工作:

import glob
rdds = []
for filename in glob.iglob('/data/*'):
    rdd = sc.textFile(filename).map(lambda row: (filename, row))
    rdds.append(rdd)

allData = sc.union(rdds)
Run Code Online (Sandbox Code Playgroud)

使用它,filename始终是最后读取文件的文件名

我还尝试了什么:

import glob
rdds = []
for filename in glob.iglob('/data/*'):
    def f(name=filename):
        return name
    rdd = sc.textFile(filename).map(lambda row: (f(), row))
    rdds.append(rdd)

allData = sc.union(rdds)
Run Code Online (Sandbox Code Playgroud)

但这会产生错误: Broadcast can only be serialized in driver

sc.wholeTextFile() 不能选择,因为单个文件太大。

python apache-spark pyspark

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

标签 统计

apache-spark ×1

c ×1

docker ×1

initialization ×1

pyspark ×1

python ×1

sbt ×1

struct ×1

unions ×1