小编min*_*ham的帖子

在PySpark数据帧中修剪字符串列

我是Python和Spark的初学者.创建一个DataFramefrom CSV文件后,我想知道如何修剪一个列.我试过了:

df = df.withColumn("Product", df.Product.strip())
Run Code Online (Sandbox Code Playgroud)

df是我的数据框,Product是我表中的一列

但我总是看到错误:

Column object is not callable

你有什么建议吗?

trim apache-spark apache-spark-sql pyspark pyspark-sql

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

Spark中两个大数据集之间的模糊连接

我需要根据两列字符串的相似性在两个大数据集之间进行模糊连接(假设每个数据集为30Gb).例如:

表格1:

Key1  |Value1
-------------
1     |qsdm fkq jmsk fqj msdk
Run Code Online (Sandbox Code Playgroud)

表2:

Key2  |Value2
-------------
1     |qsdm fkqj mskf qjm sdk
Run Code Online (Sandbox Code Playgroud)

我们的目的是计算value1的每一行与value2的每一行之间的相似性的余弦,之后,感谢thresold预定义,我可以加入两个表.

关键词:实体分辨率,相似度余弦,倒排索引(优化相似度计算),TF-IDF,令牌权重,单词,文档(值列中的单元格),数据集

我使用Spark(PySpark)来计算连接.在进行的那一刻,我有:

  • (key1,dict1)的RDD RDD1:key1是table1的关键字,dict1是字的字典及其在数据集table1上的权重(权重向量)
  • (key2,dict2)的RDD RDD2:key2是table2的关键字,dict2是word的字典及其在数据集table2上的权重(权重向量)
  • (key1,norm1)的RDD NORM1:key1是table1的键,norm1是在dict1上预先计算的值
  • (key2,norm2)的RDD NORM2:key2是table2的键,norm2是在dict2上预先计算的值

使用倒排索引的策略,我减少了两个文档之间相似性的计算次数(字符串).它是一个RDD CommonTokens((key1,key2),令牌)数组:key1是table1中的键,key2是table2中的键,令牌是value1和value2之间的常用令牌列表.对于CommonTokens中的每个元素,我计算生成相似度的余弦((key1,key2),相似度).

在火花中,我做了:

  • collectAsMap RDD1,NORM1,RDD2,NORM2构建4个字典
  • 创建函数相似度:

    • 输入:(key1,key2,commonTokens)
    • 在RDD1和NORM1中查找key1,在RDD2和NORM2中查找key2
    • 计算余弦值
    • return(key1,key2,相似度)
  • 在CommonTokens中应用具有上面定义的相似性函数的地图

  • 配置将我的工作提交给YARN:

spark-submit --master yarn-client --executor-cores 3 --executor-memory 20G --driver-memory 20G --driver-cores 12 --queue cku --num-executors 6 run/Join.py&

火花问题:

  • 很多CollectAsMap ==>重载驱动程序==>死锁
  • 不能在另一个RDD转换中进行RDD转换(而不是使用collectAsMap,直接使用RDD1,RDD2,NORM1,NORM2查找key1,在CommonTokens.Map内部的key2)
  • 我试图将RDD1,RDD2,NORM1,NORM2"转换"为数据帧,并使用Spark SQL"选择"(查找),但它在地图内部无效
  • 一个额外的问题是,如果我的算法对我的情况有效吗?

感谢您的任何建议(对不起我的英文,如果我的问题不明确,请随时向我询问更多信息)

join similarity collect apache-spark pyspark

7
推荐指数
1
解决办法
2192
查看次数

SSAS - 建立连接时出现OLE DB错误

当我尝试使用Microsoft的Pubs数据样本在Visual Studio 2013(sql server 2012)中处理SSAS项目时,我遇到了问题.有谁能告诉我如何解决它?提前致谢!

OLE DB错误:OLE DB或ODBC错误:建立与SQL Server的连接时发生了与网络相关或特定于实例的错误.找不到服务器或无法访问服务器.检查实例名称是否正确以及SQL Server是否配置为允许远程连接.有关详细信息,请参阅SQL Server联机丛书.08001; 客户无法建立连接; 08001; 客户端不支持加密.08001.

sql sql-server olap ssas ole

0
推荐指数
1
解决办法
7713
查看次数