小编ech*_*cho的帖子

Spark unionAll多个数据帧

对于一组数据帧

val df1 = sc.parallelize(1 to 4).map(i => (i,i*10)).toDF("id","x")
val df2 = sc.parallelize(1 to 4).map(i => (i,i*100)).toDF("id","y")
val df3 = sc.parallelize(1 to 4).map(i => (i,i*1000)).toDF("id","z")
Run Code Online (Sandbox Code Playgroud)

把他们所有人联合起来

df1.unionAll(df2).unionAll(df3)
Run Code Online (Sandbox Code Playgroud)

是否有更优雅和可扩展的方式为任意数量的数据帧执行此操作,例如

Seq(df1, df2, df3) 
Run Code Online (Sandbox Code Playgroud)

scala apache-spark apache-spark-sql

24
推荐指数
2
解决办法
3万
查看次数

Spark write parquet 不写任何文件,只写_SUCCESS

该应用程序包括

val stats = sqlContext.sql("select id, n from myTable")

stats.write.parquet("myTable.parquet")
Run Code Online (Sandbox Code Playgroud)

这将创建myTable.parquet除了空_SUCCESS文件之外没有任何内容的目录,即使是

stats.show  // illustration only here, original size motivates parquet use

+-----+----+
|  id |  n |
+-----+----+
|   a |  1 |
|   b |  2 |
+-----+----+

stats.printSchema 

root
 |-- id: string (nullable = true)
 |-- n: long (nullable = true)
Run Code Online (Sandbox Code Playgroud)

如何write.parquet编写数据帧的实际内容?有什么不见了 ?

注意这也会发生在saveAsTextFile.

python scala apache-spark parquet spark-dataframe

5
推荐指数
2
解决办法
3179
查看次数

SQL:计算值的出现次数

user | fruit
------------
1    | apple
1    | apple
1    | apple
2    | apple
2    | apple
1    | pear
Run Code Online (Sandbox Code Playgroud)

试图结合countgroup by得到

user | apples | pears
---------------------
1    | 3      | 1
2    | 2      | 0
Run Code Online (Sandbox Code Playgroud)

任何有关如何进行的提示都表示赞赏.

sql group-by count

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

分割大型csv文件并在每个部分保留标题

如何分割一个较大的csv文件(〜100GB)并在每个部分保留标题?

例如

h1 h2
a  aa
b  bb
Run Code Online (Sandbox Code Playgroud)

进入

h1 h2
a  aa
Run Code Online (Sandbox Code Playgroud)

h1 h2
b  bb
Run Code Online (Sandbox Code Playgroud)

csv bash split

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