小编Bha*_*rla的帖子

partitionColumn,lowerBound,upperBound,numPartitions参数是什么意思?

虽然通过在星火JDBC连接获取来自SQL Server的数据,我发现我可以设置一些并行的参数,如partitionColumn,lowerBound,upperBound,和numPartitions.我已经通过spark文档,但无法理解它.

谁能解释一下这些参数的含义?

jdbc apache-spark apache-spark-sql

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

为什么以本地模式加入Spark太慢了?

我在本地模式下使用spark,简单的连接花了太长时间。我已经获取了两个数据帧:A(8列和230万行)和B(8列和120万行),并使用A.join(B,condition,'left')并最终将它们联接起来,称为动作。它创建一个包含三个阶段的作业,每个阶段用于提取两个数据帧,一个用于联接。令人惊讶的是,提取数据帧A的阶段大约需要8分钟,而提取数据帧B的阶段大约需要1分钟。加入只需几秒钟。我的重要配置设置为:

  1. spark.master本地[*]
  2. spark.driver.cores 8
  3. spark.executor.memory 30克
  4. spark.driver.memory 30克
  5. spark.serializer org.apache.spark.serializer.KryoSerializer
  6. spark.sql.shuffle.partitions 16

唯一的执行者是驱动程序本身。在提取数据帧时,我将其划分为32个部分(也尝试了16,64,50,100,200个)。我已经看到带有数据帧A提取的阶段的随机写入内存为100 MB。因此,为避免混洗,我对数据帧和广播的数据帧B(较小)都做了16个初始分区,但这没有帮助。仍然有随机写入存储器。我broadcast(B)为此使用了语法。难道我做错了什么?为什么改组仍然存在?另外,当我看到事件时间表时,在任何时间点仅显示四个内核正在处理。虽然我有一台2core * 4处理器的机器。为什么?

apache-spark apache-spark-sql pyspark spark-dataframe

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

在 Spark 中启动 Thrift 服务器

任何人都可以帮助我启动 spark thrift 服务器吗?我在独立模式下运行我的脚本,我想在我的商业智能工具中获取数据。

为了做到这一点,我需要启动节俭服务器。我尝试运行 shell 脚本:

$SPARK_HOME/sbin/start-thriftserver.sh
Run Code Online (Sandbox Code Playgroud)

但我收到一个错误:

错误“ps 未知选项--0”

apache-spark apache-spark-sql spark-thriftserver

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

如何使用 python 将 Pandas 数据帧数据存储到 azure blob?

我想将处理过的数据存储在 Pandas 数据框中,以镶木地板文件格式存储为天蓝色的 blob。但在上传到 blob 之前,我必须将其作为 parquet 文件存储在本地磁盘中,然后上传。想把pyarrow.table写成pyarrow.parquet.NativeFile直接上传。谁能帮我这个。下面的代码工作正常:

import pyarrow as pa
import pyarrow.parquet as pq

battery_pq = pd.read_csv('test.csv')
Run Code Online (Sandbox Code Playgroud) ######## 一些数据处理
battery_pq = pa.Table.from_pandas(battery_pq)
pq.write_table(battery_pq,'example.parquet')
block_blob_service.create_blob_from_path(container_name,'example.parquet','example.parquet')
Run Code Online (Sandbox Code Playgroud)

需要在内存中创建文件(I/O 文件类型对象),然后将其上传到 blob。

python blob azure pandas parquet

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

AWS Sagemaker 推理端点未利用所有 vCPU

我在 sagemaker 推理端点(单实例)上部署了一个自定义模型,在进行负载测试时,我观察到 CPU 利用率指标达到了 100% 的最大值,但根据这篇文章,它应该达到 #vCPU*100% 的最大值。我已确认推理端点未使用 clowdwatch 日志中的所有核心。

因此,如果一个预测调用需要一秒钟处理才能给出响应,则部署的模型每秒只能处理一个 API 调用,如果使用所有 vCPU,则可能会增加到每秒 8 个调用。

AWS Sagemaker部署中是否有任何设置可以使用所有vCPU来提高并发性?

或者我们可以inference.py在部署时在文件内使用多处理 python 包,以便每次调用都到达默认核心,然后所有计算/预测都在任何其他核心中完成,无论该核心在该实例中是空的吗?

python machine-learning amazon-web-services amazon-sagemaker

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