小编Aru*_*run的帖子

scala中两个数据帧的模式比较

我正在尝试编写一些测试用例来验证源(.csv)文件和目标(hive表)之间的数据.其中一个验证是表的结构验证.

我已将.csv数据(使用已定义的模式)加载到一个数据框中,并将hive表数据提取到另一个数据框中.
当我现在尝试比较两个数据帧的模式时,它返回false.不知道为什么.对此有什么想法吗?

源数据帧架构:

scala> res39.printSchema
root
 |-- datetime: timestamp (nullable = true)
 |-- load_datetime: timestamp (nullable = true)
 |-- source_bank: string (nullable = true)
 |-- emp_name: string (nullable = true)
 |-- header_row_count: integer (nullable = true)
 |-- emp_hours: double (nullable = true)
Run Code Online (Sandbox Code Playgroud)

目标数据帧架构:

scala> targetRawData.printSchema
root
 |-- datetime: timestamp (nullable = true)
 |-- load_datetime: timestamp (nullable = true)
 |-- source_bank: string (nullable = true)
 |-- emp_name: string (nullable = true)
 |-- header_row_count: integer (nullable = true)
 |-- emp_hours: double …
Run Code Online (Sandbox Code Playgroud)

schema scala apache-spark-sql

8
推荐指数
4
解决办法
5537
查看次数

如何将Python Flask应用程序部署到在Amazon Linux EC2实例上运行的Apache(Httpd)

我真的在这里挣扎.我有一个简单的Python Flask REST API,我已经开发了.API在我的本地开发环境(Mac OS X)中运行良好,并且在我的EC2实例上通过控制台直接执行.

我想将此服务转移到生产中,因此希望将其托管在EC2实例上运行的Apache之后.这是我不断碰壁的地方,我似乎无法通过配置和错误.我在网上研究了几篇文章和问题,似乎没有人能够帮助我.

我希望有人在这里可以为我提供有关如何在Amazon Linux EC2实例上运行的Apache后面部署我的服务的分步指导.

以下是我采取的步骤:

  1. 推出了基本的Amazon Linux EC2实例.
  2. 将更新应用于实例sudo yum update
  3. 安装Apache和WSIG,sudo yum安装httpd24 mod24_wsgi
  4. 启动Apache,sudo服务httpd启动
  5. 配置Apache自动启动,sudo chkconfig httpd on
  6. 点击我的EC2框的DNS进行测试.我成功获得了Amazon Linux AMI测试页面.
  7. 调整/ var/www的权限如下
    • sudo groupadd www
    • sudo usermod -a -G www ec2-user
    • 登录/关闭并确认会员资格,群组
    • sudo chown -R root:www/var/www
    • sudo chmod 2775/var/www
    • find/var/www -type d -exec sudo chmod 2775 {} \;
    • find/var/www -type f -exec sudo chmod 0664 {} \;
  8. 通过点击我的EC2框的DNS进行测试 - 到目前为止仍然很好.

现在我知道我的实例正在运行,我想创建两个文件夹,我可以测试并运行我的Python Flask代码.我这样做如下:

  1. 我创建了两个文件夹,一个用于开发,一个用于生产.
    • 在/ var/WWW /休息-dev /目录 …

python apache mod-wsgi amazon-ec2 flask

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

如何将自定义日期时间格式转换为时间戳?

知道为什么我得到下面的结果吗?

scala> val b = to_timestamp($"DATETIME", "ddMMMYYYY:HH:mm:ss")
b: org.apache.spark.sql.Column = to_timestamp(`DATETIME`, 'ddMMMYYYY:HH:mm:ss')

scala> sourceRawData.withColumn("ts", b).show(6,false)
+------------------+-------------------+-----------+--------+----------------+---------+-------------------+
|DATETIME          |LOAD_DATETIME      |SOURCE_BANK|EMP_NAME|HEADER_ROW_COUNT|EMP_HOURS|ts                 |
+------------------+-------------------+-----------+--------+----------------+---------+-------------------+
|01JAN2017:01:02:03|01JAN2017:01:02:03 | RBS       | Naveen |100             |15.23    |2017-01-01 01:02:03|
|15MAR2017:01:02:03|15MAR2017:01:02:03 | RBS       | Naveen |100             |115.78   |2017-01-01 01:02:03|
|02APR2015:23:24:25|02APR2015:23:24:25 | RBS       |Arun    |200             |2.09     |2014-12-28 23:24:25|
|28MAY2010:12:13:14| 28MAY2010:12:13:14|RBS        |Arun    |100             |30.98    |2009-12-27 12:13:14|
|04JUN2018:10:11:12|04JUN2018:10:11:12 |XZX        | Arun   |400             |12.0     |2017-12-31 10:11:12|
+------------------+-------------------+-----------+--------+----------------+---------+-------------------+
Run Code Online (Sandbox Code Playgroud)

我正在尝试将 DATETIME(采用 ddMMMMYY:HH:mm:ss 格式)转换为 Timestamp(显示在上面的最后一列),但它似乎没有转换为正确的值。我参考了下面的帖子,但没有帮助:

在 Spark 中将字符串字段转换为时间戳的更好方法

任何人都可以帮助我吗?

scala apache-spark apache-spark-sql

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