小编Rah*_*hul的帖子

Parquet vs ORC vs ORC与Snappy

我正在对Hive可用的存储格式进行一些测试,并使用Parquet和ORC作为主要选项.我使用默认压缩包含ORC一次,使用Snappy包含一次.

我已经阅读了许多文件,说明Parquet在时间/空间复杂性方面比ORC更好,但我的测试与我经历的文件相反.

关注我的数据的一些细节.

Table A- Text File Format- 2.5GB

Table B - ORC - 652MB

Table C - ORC with Snappy - 802MB

Table D - Parquet - 1.9 GB
Run Code Online (Sandbox Code Playgroud)

就我的桌子的压缩而言,实木复合地板是最糟糕的.

我对上表的测试得出以下结果.

行计数操作

Text Format Cumulative CPU - 123.33 sec

Parquet Format Cumulative CPU - 204.92 sec

ORC Format Cumulative CPU - 119.99 sec 

ORC with SNAPPY Cumulative CPU - 107.05 sec
Run Code Online (Sandbox Code Playgroud)

列操作的总和

Text Format Cumulative CPU - 127.85 sec   

Parquet Format Cumulative CPU - 255.2 sec   

ORC Format Cumulative …
Run Code Online (Sandbox Code Playgroud)

hadoop hive snappy parquet orc

79
推荐指数
4
解决办法
5万
查看次数

如何从Spark中的文本文件创建DataFrame

我在HDFS上有一个文本文件,我想将它转换为Spark中的数据框.

我使用Spark Context加载文件,然后尝试从该文件生成单个列.

val myFile = sc.textFile("file.txt")
val myFile1 = myFile.map(x=>x.split(";"))
Run Code Online (Sandbox Code Playgroud)

执行此操作后,我正在尝试以下操作.

myFile1.toDF()
Run Code Online (Sandbox Code Playgroud)

我遇到了问题,因为myFile1 RDD中的元素现在是数组类型.

我该如何解决这个问题?

scala dataframe apache-spark rdd apache-spark-sql

15
推荐指数
3
解决办法
9万
查看次数

Maria DB没有开始.mariadb.service的工作失败了.有关详细信息,请参阅'systemctl status mariadb.service'和'journalctl -xn'

我正在尝试安装maria db并遇到以下问题.

[root@localhost ~]# service mysqld start
Redirecting to /bin/systemctl start  mysqld.service
Job for mariadb.service failed. See 'systemctl status mariadb.service' and 'journalctl -xn' for details.
Run Code Online (Sandbox Code Playgroud)

我尝试了'systemctl status mariadb.service'和'journalctl -xn'并按照细节进行操作.

[root@localhost ~]# systemctl status mariadb.service
mariadb.service - MariaDB database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled)
   Active: failed (Result: exit-code) since Sun 2014-09-21 17:19:44 IST; 23s ago
  Process: 2712 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=1/FAILURE)
  Process: 2711 ExecStart=/usr/bin/mysqld_safe --basedir=/usr (code=exited, status=0/SUCCESS)
  Process: 2683 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS)
 Main PID: 2711 (code=exited, status=0/SUCCESS)

Sep 21 17:19:42 …
Run Code Online (Sandbox Code Playgroud)

mariadb

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

为什么镶木地板对我而言对于hive中的文本文件格式较慢?

好!所以我决定使用Parquet作为hive表的存储格式,在我实际在集群中实现之前,我决定运行一些测试.令人惊讶的是,Parquet在我的测试中速度较慢,因为它比普通文本文件更快.

请注意,我在MapR上使用Hive-0.13

遵循我的操作流程

表A.

格式 - 文本格式

表大小 - 2.5 Gb

表B.

格式 - 镶木地板

表大小 - 1.9 Gb

[创建表格B作为选择*从A存储为镶木地板]

表C.

格式 - 带有快速压缩的镶木地板

表大小 - 1.9 Gb

[创建表格C存储为镶木地板tblproperties("parquet.compression"="SNAPPY")作为select*from A]

现在我对上面提到的表进行了一些测试并遵循了细节.

  • 行计数操作

表A.

地图 - 15

减少 - 1

累积CPU - 123.33秒

所需时间 - 59.057秒

表B.

地图 - 8

减少 - 1

累计CPU - 204.92秒

所需时间 - 50.33秒

  • 单行选择

表A.

地图 - 15

减少 - 0

累计CPU - 51.18秒

所需时间 - 25.296秒

表B.

地图 - 8

减少 - 0

累计CPU …

hadoop hive mapr snappy parquet

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

如何使用Scala处理Spark中的日期?

我有一个平面文件,如下所示.

id,name,desg,tdate
1,Alex,Business Manager,2016-01-01
Run Code Online (Sandbox Code Playgroud)

我正在使用Spark Context来读取此文件,如下所示.

val myFile = sc.textFile("file.txt")
Run Code Online (Sandbox Code Playgroud)

我想从这个文件生成一个Spark DataFrame,我使用以下代码来实现.

case class Record(id: Int, name: String,desg:String,tdate:String)

val myFile1 = myFile.map(x=>x.split(",")).map {
  case Array(id, name,desg,tdate) => Record(id.toInt, name,desg,tdate)
} 

myFile1.toDF()
Run Code Online (Sandbox Code Playgroud)

这给了我一个DataFrame,其id为int,其余列为String.

我希望将最后一列tdate转换为日期类型.

我怎样才能做到这一点?

scala date dataframe apache-spark rdd

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

我是否需要在Ubuntu上使用Virtual Box来创建docker机器?

我最近在Ubunutu 16.04上安装了docker-ce,并按照Docker文档中的说明配置了docker-machine软件包.

在测试安装时,docker run命令执行正常但是docker-machine create命令要求配置Virtual Box.

根据我的理解,docker容器在Linux上运行,因此需要在Mac或Windows上没有Hyper-V支持的VirtualBox,但为什么在Ubuntu上需要它?

Virtual Box在创建Docker Machine时有什么用?

ubuntu docker docker-machine

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