各位!!我在spark中运行python代码时遇到此错误日志
代码:
main.py
sc = SparkContext(appName="newsCluster")
sc.addPyFile("/home/warrior/gitDir/pysparkCode/clusterNews/wordSeg.py")
sc.addPyFile("/home/warrior/gitDir/pysparkCode/clusterNews/sparkClusterAlgorithm.py")
wordseg
标签: Pyspark
modelingcross-validationapache-spark-mllibapache-spark-ml
我正在修补PySpark文档中的一些交叉验证代码,并试图让PySpark告诉我选择了什么模型:
from pyspark.ml.classification import LogisticRegression
from pyspark.ml.evaluation import BinaryClassificationEvaluator
from pyspark.mllib.linalg import Vectors
from pyspark.ml.tuning import ParamGridB
编辑:如果您希望保留一些列以供骑乘,并且它们不需要聚合,您可以将它们包含在groupBy中,或者在聚合后重新加入它们(下面的示例)。如果它们确实需要聚合,只需按'store'分组,只需在'other'列/s上将所需的聚合函数添加到.agg()调用中即可
从pyspark.sql导入函数为F
df=sc.parallelize([(1[1,2,3],'a'),(1[4,5,6],'a'),(2[2],'b'),(2[3],'b')))。toDF(['store','values','other']
我必须将数据帧保存到Pickle文件,但它返回一个错误
df.saveAsPickleFile(path)
AttributeError:“Dataframe”对象没有属性“saveAsPickleFile”saveAsPickleFile是一种RDD方法,而不是数据帧方法
请参阅本文档:
所以你可以打电话:
df.rdd.saveAsPickleFile(filename)
要从文件加载,请运行:
pickleRdd = sc.pickleFile(filename).collect()
我有以下PySpark输入数据帧:
+----+------+
|索引|值列表|
+----+------+
| 1.0 | [10,20,30] |
| 2.0 | [11,21,31] |
| 0.0 | [14,12,15] |
+----+------+
其中:
索引:类型双
Valuelist:类型Vector。它不是数组
从上面的输入数据帧中,我想获得PySpark中的以下输出数据帧
+----+----+
|指数|值|
+----+----+
| 1.0 | 20
我有一个下表,我只想对列\u10和\u12求和,但我得到了一个错误
_2|_10|_12|
+------+---+---+
|yearID| H| 3B|
| 2004| 0| 0|
| 2006| 0| 0|
| 2007| 0| 0|
| 2008| 0| 0|
| 2009| 0| 0|
| 2010| 0| 0|
| 1954|131| 6|
| 1955|189| 9|
| 1956|200| 14|
| 1957|198| 6|
标签: Pyspark
apache-spark-sqldatabricks
我有一个Spark数据帧,其中一个缺失,另一个值错误
from pyspark.sql import Row
from pyspark.sql.types import StringType, DoubleType, StructType, StructField
# fruit sales data
data = [Row(id='01', fruit='Apple', qty=5.0),
Row(id='02', fruit='Apple', qty=1.0),
我是PySpark的新手
我读过一份拼花文件。我只想保留至少有10个值的列
我已经使用descripe来获取每列的NOTNULL记录的计数
现在如何提取值小于10的列名,然后在写入新文件之前删除这些列
df=spark.read.parquetfile
col_count=df.descripe.filter$summary==count您可以将其转换为字典,然后根据值count
嗨,我正试图用pyspark集成做一个水槽,但是得到了错误
这是密码
from pyspark import SparkConf,SparkContext
from pyspark.streaming import StreamingContext
from pyspark.streaming.flume import FlumeUtils
import sys
from operator import add
from pyspark.sql import functions
hostnam
标签: Pyspark
pyspark-sqlpyspark-dataframes
我想从数据帧(pyspark)中的数组数组(在数组列中)中删除一个数组
这是我想要的结果
+---+-----------------------+
|id |collected |
+---+-----------------------+
|1 |[[A, 2], [B, 3]] |
|2 |[[C, 4], [D, 1]] |
+---+-----------------------+
我尝试使用F.array\u remove(…,
我有下面的数据框,我想从字典映射列
data = [
('web', '0'),
('web', '1'),
('web', '2'),
('twitter', '0'),
('twitter', '1'),
('facebook', '0'),
('facebook', '1'),
('facebook','2')
]
data = (spark.createDataFrame(data, ['channel','type']))
我有下
我正在尝试使用pyspark将列的字符串值(例如,D202000910.T000000)解析为日期格式。我尝试了以下操作,但结果返回null:
select(to_date('ingest_id','DYYYYMMDD.THHMMSS')
T000000部分总是有这样的文本吗?问:“D202000910.T000000”是什么格式?它当然不是符合ISO 8601的日期格式,是吗?只是想知道它是怎么来的/从哪里来的…@ernest,此列中的字符串值总是符合我提供的示例。如果您使用了错误的模式,请
我的文件夹结构如下:
数据/level1=x/level2=y/level3=z/
在这个文件夹中,我有一些文件如下:
文件名\u类型\u 20201212.gz
文件名\u类型\u 20201213.gz
文件名\u pq\u类型\u 20201213.gz
如何将前缀为“filename\u type”的文件只读到数据帧中
有许多level1、level2和level3子文件夹。因此,在读取具有上述文件名前缀的文件时,必须将数据/文件夹加载到pyspark数据帧中
我尝试在一些混合类型的数据上运行梯度增强树算法:
[('feature1', 'bigint'),
('feature2', 'int'),
('label', 'double')]
我尝试了以下方法
from pyspark.mllib.tree import GradientBoostedTrees, GradientBoostedTreesModel
from pyspark.ml.feature import VectorAssembler
from pyspark.mllib.l
我正在为零售目的建立一个推荐系统。我使用python和Spark
我试图减去我预测的所有用户产品组合,这些组合也出现在评级中(因此我只预测用户以前从未购买过的产品的价值)
这两个RDD非常大,当我这样做时,每个工作节点(3个节点)的28gb内存会出现问题
filter\u predictions=predictions.subtractByKey(用户产品)
当我阅读Spark subtractByKey的文档时,当使用1个大rdd和1个小rdd时,它是最佳的
我不能让用户的产品变小(除非我循环
我有以下代码:
files = sc.wholeTextFiles ("file:///data/*/*/")
因此,当我运行上述命令时,我得到:
[('file:/data/file.txt', 'Message')]
如何从pyspark中的RDD中获取“消息”部分而不是文件名
我有以下代码:
val message = files.map(x = > x._2)
但不起作用。这是您在scala中的做法
rdd = sc.wholeTextFiles("hdfs://names
我想知道如何在spark 1.6.3中使用法语配置StopWordsRever
我目前正在使用pyspark
谢谢你的帮助
非常感谢,基于Python Spark 1.6.3,pyspark.ml.feature.StopWordsRemover没有语言参数。但是,您始终可以通过“stopwords”参数提供自己的stopwords列表。查看该软件包
我用它来表达葡萄牙语:
from pyspark.ml.feature import StopWordsRemover
import nltk
n
为什么需要在查询的末尾加上foo这个词
queryTwo = """(SELECT max(lst_updt_dt_tm) as maxDt FROM table) foo """
theTable = sqlContext.read.format("jdbc").options(url="the url", driver = "the td driver", dbtable = queryTwo, user="xxxx", password="xxxx").load()
theTable.s
在AWS Glue中使用PySpark将数据从S3文件加载到红移表,在代码使用模式(“Overwirte”)下,错误声明为“无法删除表,因为其他对象依赖于该表”,结果是在该表顶部创建了视图,“Overwrite”模式实际删除并重新创建红移表,然后加载数据,是否有任何选项只“截断”表而不删除它 AWS胶水使用(没有任何地方记录,但我根据经验进行了验证)。Spark redshift connector的文档中提到:
覆盖现有表:默认情况下,此库使用事务执行覆盖,覆盖是通过删除目标表、创建新的空表并
我在pyspark中有一个spark数据框,我需要从数据框中删除所有常量列。由于我不知道哪些列是常量,我无法手动取消选择常量列,即我需要一个自动过程。我很惊讶我没能找到一个简单的stackoverflow解决方案
例如:
import pandas as pd
import pyspark
from pyspark.sql.session import SparkSession
spark = SparkSession.builder.appName("test").getOrCreate()
我需要将spark连接到我的红移实例以生成数据。
我正在使用spark 1.6和scala 2.10。
已使用兼容的jdbc连接器和spark redshift连接器。
但我面临一个奇怪的问题,那就是:
我正在使用Pypark
df=sqlContext.read\
.format("com.databricks.spark.redshift")\
.option("query","select top 10 * from fact_table")\
.option("u
标签: Pyspark
apache-spark-sqlpyspark-sql
我有以下数据帧:
import pandas as pd
from pyspark import SparkContext
from pyspark.sql import SQLContext
sc = SparkContext('local')
df_pd = pd.DataFrame([[11, 'abc', 1, 114],
[11, 'abc', 2, 104],
[11, 'def', 9, 1
标签: Pyspark
aws-gluepyspark-dataframes
我有一个pyspark数据帧。我能够通过persons.toDF()将动态数据帧转换为spark数据帧。我想在pyspark中将spark数据帧再次转换回动态数据帧。我想将我的列强制转换为时间戳,然后再次将其转换为动态数据帧以解析选项。
请帮助我您可以使用fromDF函数从数据帧创建动态帧
基本语法
dyf = fromDF(dataframe, glue_ctx, name)
在哪里,
dataframe–要转换的Apache Spark SQL数据帧(必需)
glue_ctx–GlueC
标签: Pyspark
apache-zeppelindelta-lake
我正试图用pyspark在齐柏林飞艇笔记本中使用Delta Lake,但它似乎无法成功导入模块。e、 g
%pyspark
from delta.tables import *
它失败,出现以下错误:
ModuleNotFoundError:没有名为“delta”的模块
但是,使用delta格式保存/读取数据帧没有问题。如果使用scala spark%spark
有没有办法使用齐柏林飞艇和Pypspark中的Delta Lake?最终设法将其加载到齐柏林Pypspark上。必须显式地包含jar
对于以下示例数据帧:
df = spark.createDataFrame(
[
('2017-01-01', 'A', 1),
('2017-01-01', 'B', 2),
('2017-01-01', 'C', 3),
('2017-01-02', 'A', 4),
('2017-01-02', 'B', 5),
('2017-01-02', 'C', 6),
('2017-01-03', 'A', 7),
('2017-01
我正在尝试使用数据帧在pyspark中实现。问题是我的实现真的很慢。我就是这样做的:
我将所有顶点和社区ID收集到简单的python列表中
对于每个顶点-社区ID对,我使用数据帧计算模块化增益(只是一个涉及边权重和/差的奇特公式)
重复,直到没有变化
我做错了什么
我想,如果我能以某种方式将for-each循环并行化,性能就会提高,但我怎么能做到呢
以后编辑:
我可以使用顶点.foreach(changeCommunityId)而不是for-each循环,但是在没有数据帧的情况下,我必须计算模块
我有一个场景,我有两个表,一个表有天,另一个表有值。所以从有天数的表中,我需要将另一个表的值和天数相加。
数据帧
dataframe1
df1 = spark.createDataFrame(
[
('ll',5)
('yy',6)
],
('x','days')
)
dataframe2
df = spark.createDataFrame(
[
('ll','2020-01-05','
我在Spark集群上使用齐柏林飞艇和Hadoop
我想运行一个命令来检查s3上的文件,我想使用一个变量
这是我的密码
%sh
aws s3 ls s3://my-bucket/my_folder/
我可以用变量替换my bucket/my_folder/吗 你所说的“变量”是什么意思?Python变量?如果是,我不确定。但是,如果只想将路径拉到另一行上,可以使用shell变量:
%sh
export AWS_FOLDER=my-bucket/my_folder/
aws s3 ls s3:
你好
我希望检查我的变量是否存在于两个表中的任何一个表中,并在单个表中获得结果,以便进一步处理。我觉得很简单:
'''
select concent, concent_big from
(select count(*) as concent where core_id = "{}" ) as a
left join
(select count(*) as concent_big ,concent_2 where core_id = "{}" ) as b
我正在使用py spark处理一些数据,并使用拼花格式将处理后的文件写入S3。批处理过程的代码在docker容器(Linux)中的Ec2上运行。该数据还包含一些日期时间字段,我将其另存为TimestampType(在拼花文件中),因为我需要在athena查询中支持该字段。如果此字段的值为“0001-01-01”,则批处理会将其成功写入拼花地板文件,但只有在读取此数据时,才会引发异常。这是linux机器上的行为。
以下是重新编程的示例代码-
from pyspark.sql.types impor
如何从名为“/datos/cite75_99.txt.bz2”的.txt.bz2文件创建Spark数据帧
源文本文件的结构如下所示:
"CITING","CITED"
3858241,956203
3858241,1324234
3858241,3398406
3858241,3557384
3858241,3634889
+--------+------+
|NPatente|ncitas|
+--------+------+
| 306045
我有一个两个pyspark数据帧,如下所示
df1:-
+---+----------+------+
|age| dob|is_fan|
+---+----------+------+
| 30|1990-05-04| true|
| 26|1994-09-24| false|
+---+----------+------+
df2:-
+---+----------+------+
|age| dob|is_fan|
+---+------
我的要求是将数据帧分成两个批次,每个批次只包含两个项目,并且批次大小(输出中的批次)递增
col#1 col#2 DATE
A 1 202010
B 1.1 202010
C 1.2 202010
D 1.3 202001
E 1.4 202001
O/p
我通过以下方法实现了这一目标:
def dfZipWithIndex (df, offset=1, colName='rowId'):
new_schema =
在使用下面的代码片段处理之后,我试图将spark stream插入kafka
query = ds1 \
.selectExpr("CAST(value AS STRING)")\
.writeStream\
.foreachBatch(do_something) \
.format("kafka") \
.option("topic","topic-name") \
我想像下面这样计算数据
数据:
人
时间
地位
A.
11:30
没有开始
A.
11:31
进行中
A.
11:32
进行中
A.
11:32
进行中
A.
11:33
进行中
A.
11:35
进行中
A.
11:35
举办
A.
11:36
举办
A.
11:36
进行中
A.
11:37
进行中
A.
11:37
进行中
A.
11:38
进行中
A.
11:40
鳍
这回答了你的问题吗?
我想用Spark SQL测试基本的东西。我想加载一个csv。文件,保存在我的笔记本电脑上,并在其上运行一些sql查询。但不知何故,我无法使用sqlContext加载数据。我得到一个错误:
Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient.
然而,我没有使用蜂箱
我使用的是windows 10,并使用Anaconda安装了python。我为hadoop 2.6安装了Spark
我在卡夫卡流媒体之后得到了这个RDD。我想在不定义模式的情况下将其转换为dataframe
[
{u'Enrolment_Date': u'2008-01-01', u'Freq': 78},
{u'Enrolment_Date': u'2008-02-01', u'Group': u'Recorded Data'},
{u'Freq': 70, u'Group': u'Recorded Data'},
{u'Enrolment_Date': u'2008-04-01', u'Fr
我正在使用来自sklearn和pyspark.ml的kmeans。
spark版本快得多。然而,它似乎没有我需要的选择。使用sklearn kmeans,我可以为集群中心指定一个初始值:kmeans(init=centers,…)。
我不认为pyspark有这样的选择。是我错过了它,还是我运气不好,它根本不存在
谢谢你请看我的回答:可能是重复的谢谢你,沙漠怪人。是的,事实上,这与我的问题是同一个问题,尽管标题有误导性。我看到了,并认为这是关于播种的。所以,我保留我的问题。也许,有一些不太为人所知
我按照此指南逐步在我的PC windows 10上安装pyspark和jupyter笔记本:
我完全按照指南中的说明设置了所有内容,但是当我运行命令“pyspark”时,我收到以下错误消息:
执行Jupyter命令“notebook”时出错:[Errno“Jupyter notebook”未找到]2
我试图寻找一个解决方案,但没有找到任何与我类似的案例,最相似的是关于linux上的pyspark
如果有人能解释我需要改变什么才能让它工作,我将非常感激!
如果有人还有其他关于如何在windows
标签: Pyspark
apache-spark-sqlspark-dataframepyspark-sql
我有一个4列的pyspark数据帧
id/编号/值/x
我想按列id、编号分组,然后添加一个新的列,每个id的值和编号的总和。我想在不做任何事情的情况下保留colunms x
df=df。选择(“id”、“number”、“value”、“x”)
.groupBy('id','number')。带列(“值的总和”,df.value.sum())
最后我想要一个有5列的数据框:id/number/value/x/sum\u of\u value)
有人能帮忙吗?假设您的数据帧df最初有3列
df
我在Jupyter笔记本中运行了以下代码,但得到了一些提示。请注意,“udf”可以在Jupyter中导入
从pyspark.sql.functions导入pandas\u udf
ImportError回溯(最近的呼叫)
最后)在()
---->1从pyspark.sql.functions导入
导入错误:无法导入名称“pandas\u udf”
有人知道怎么修吗?多谢各位 看起来您可以自己启动jupyter笔记本,而不是使用jupyter笔记本启动PypSpark,这是以下命令:
PYSPAR
在调试pyspark程序时,我在加载数据帧(ch)之后放置了一个断点。然后,使用调试控制台单命令行执行以下操作:
ch.count()
32489
ch.show()
None
计数正确显示在ch.count()下。但是,如果我尝试显示数据帧内容,我会得到以下结果:
ch.count()
32489
ch.show()
None
即使如此,数据帧的输出仍然正确地显示在终端窗口中!因此,如果单击查看终端窗口,我会看到ch.show()的输出。
我研究过其他看似相关的问题,但没有成功
标签: Pyspark
global-variablesuser-defined-functions
我有一个用户定义函数(UDF),它向spark数据帧添加一个新列,但速度有点慢
UDF计算用户输入和拼写正确的单词列表之间的编辑距离,我希望通过将用户输入和最接近的单词匹配存储在全局字典中来加快编辑距离。这个想法是先参考全球词典,然后再花时间计算所有单词的分数
我是Spark/PySpark的新手,所以我不知道所有正确的术语,但从我所读到的内容来看,执行器似乎没有跨线程(或其他)跟踪全局变量。我也读过广播变量,但我认为它们是作为输入传递的,累加器只允许数字数据
以下是我目前正在使用的一些示例代码
我目前有一个数据集,通过变量“聚合器”按小时增量分组。这一小时数据中存在缺口,理想情况下,我希望用映射到x列中变量的前一行向前填充这些行
我已经看到了一些使用PANDAS解决类似问题的方法,但理想情况下,我想了解如何最好地使用pyspark UDF来解决这个问题
我最初考虑过熊猫,但也很难实现这一点,只是第一次忽略聚合器:
df = df.set_index(keys=[df.timestamp]).resample('1H', fill_method='ffill')
但理想情况下,我希望避
我正试图根据下面的场景,从具有非重复值的列表构建一个小部件。有人能帮我找到正确的路吗
fileInfoList = list(filter(lambda f: f.name.endswith("") , dbutils.fs.ls(srcPath)))
for fileNames in fileInfoList:
print(fileNames.name)
这张照片是:
雇员
雇员历史
承包商
承包商历史
我想要的只是没有历史的价值观。
已尝试此操作,但返回错误:
dbutils.widg
我尝试加载一个经过训练的word2vec模型,其中包含以下行
from pyspark.ml.feature import Word2Vec
loadedWord2Vec = Word2Vec.load(W2V_MODEL_PATH)
但我得到了这个错误:
java.lang.NoSuchMethodException: org.apache.spark.ml.feature.Word2VecModel.<init>(java.lang.String)
java.lang.No
我是新加入Hive的,我需要在Pyspark程序中通过HiveContext创建一个新的Hive表
怎么做?请帮我解决这个问题。非常感谢 非常感谢!我可以在sqlCtx.sql内运行任何类型的配置单元查询吗?或者它是SparkSQL?Spark SQL几乎支持大多数配置单元查询,但很少支持。他们在这方面都有很好的记录,非常感谢你的帮助!
import pyspark
from pyspark.sql import HiveContext
sqlCtx= HiveContext(sc)
tes
我正在使用下面的代码片段来保存数据。它只在同一分区文件夹下创建一个新的拼花地板文件。是否有任何方法可以将数据真正附加到现有的拼花地板文件中。如果一天中有很多附件,我们就不会有多个文件了
df.coalesce(1).write.mode('append').partitionBy(“paritionKey”).parquet(“…\parquet\u file\u folder\”)
非常感谢您的帮助。从这里查看答案:
“在Spark中追加意味着写入现有目录,而不是追加到文件
这是有意的和期望的
我有两个pysparkdataframesdf1和df2
df1
id1 id2 id3 x y
0 1 2 0.5 0.4
2 1 0 0.3 0.2
3 0 2 0.8 0.9
2 1 3 0.2 0.1
df2
id name
0 A
标签: Pyspark
pytestpalantir-foundryfoundry-code-repositories
我能够编写pytest函数,方法是手动提供列名和值以创建数据帧,并将其传递给生产代码,以检查palantir foundry代码存储库中所有转换的字段值
与手动传递列名及其各自的值不同,我希望将所有必需的数据存储在数据集中,并将该数据集导入pytest函数以获取所有必需的值,并传递给生产代码以检查所有转换的字段值
是否可以接受数据集作为planatir代码存储库中测试函数的输入。在运行测试时,无法从数据集读取数据。但是,也许您可以创建测试数据集,将其保存为CSV,然后在测试中使用测试的spark
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 64 页