我试图在Windows 7(64位机器)上安装sasl-0.1.3 python包.它与C1083的致命错误有关.
看起来saslwrapper.cpp无法在c ++模块中包含sasl/sasl.h库.

请帮我解决这个问题.如果您需要更多详细信息,请告诉我们.
我在我的机器上安装了python 2.7.
我尝试了命令行中的sc.addFile选项(没有任何问题)和--files选项(失败).
运行1:spark_distro.py
from pyspark import SparkContext, SparkConf
from pyspark import SparkFiles
def import_my_special_package(x):
    from external_package import external
    ext = external()
    return ext.fun(x)
conf = SparkConf().setAppName("Using External Library")
sc = SparkContext(conf=conf)
sc.addFile("/local-path/readme.txt")
with open(SparkFiles.get('readme.txt')) as test_file:
    lines = [line.strip() for line in test_file]
print(lines)
int_rdd = sc.parallelize([1, 2, 4, 3])
mod_rdd = sorted(int_rdd.filter(lambda z: z%2 == 1).map(lambda x:import_my_special_package(x)))
Run Code Online (Sandbox Code Playgroud)
外部包:external_package.py
class external(object):
    def __init__(self):
        pass
    def fun(self,input):
        return input*2
Run Code Online (Sandbox Code Playgroud)
readme.txt文件
MY TEXT HERE
Run Code Online (Sandbox Code Playgroud)
spark-submit命令
spark-submit \
  --master yarn-client …Run Code Online (Sandbox Code Playgroud) 我有 2 个固定宽度的文件,如下所示(唯一的变化是日期值从位置 14 开始)。
sample_hash1.txt
GOKULKRISHNA 04/17/2018
ABCDEFGHIJKL 04/17/2018
111111111111 04/17/2018
Run Code Online (Sandbox Code Playgroud)
sample_hash2.txt
GOKULKRISHNA 04/16/2018
ABCDEFGHIJKL 04/16/2018
111111111111 04/16/2018
Run Code Online (Sandbox Code Playgroud)
使用 pandas read_fwf 我正在读取此文件并创建一个数据框(通过排除仅加载前 13 个字符的日期值)。所以我的数据框看起来像这样。
import pandas as pd
df1 = pd.read_fwf("sample_hash1.txt", colspecs=[(0,13)])
df2 = pd.read_fwf("sample_hash2.txt", colspecs=[(0,13)])
Run Code Online (Sandbox Code Playgroud)
df1
   GOKULKRISHNA
0  ABCDEFGHIJKL
1  111111111111
Run Code Online (Sandbox Code Playgroud)
df2
   GOKULKRISHNA
0  ABCDEFGHIJKL
1  111111111111
Run Code Online (Sandbox Code Playgroud)
现在我试图在每个数据帧上生成一个散列值,但散列是不同的。我不确定这有什么问题。有人可以对此有所了解吗?我必须确定文件中的数据是否有任何更改(不包括日期列)。
print(hash(df1.values.tostring()))
-3571422965125408226
print(hash(df2.values.tostring()))
5039867957859242153
Run Code Online (Sandbox Code Playgroud)
我正在将这些文件(每个文件大小约为 2GB)加载到表中。每次我们从源接收完整文件时,有时数据没有变化(最后一列日期除外)。所以我的想法是拒绝这样的文件。因此,如果我下次可以在文件上生成散列并存储在某个地方(在表中),我可以将新文件散列值与存储的散列值进行比较。所以我认为这是正确的方法。但坚持哈希生成。
我检查了这篇文章 Most Effective property to hash for numpy array 但这不是我要找的
我的字符串数据如下所示。
data = 'ABCD/~DEFG/~HJKL/~MNOP'
Run Code Online (Sandbox Code Playgroud)
我尝试了以下查询
select split(data,'[/~]')[1] from test_table;
Run Code Online (Sandbox Code Playgroud)
预期输出:ABCD原始输出:[SPACES]
当我尝试使用索引[2]进行相同的查询时,其工作原理。
select split(data,'[/~]')[2] from test_table;
Run Code Online (Sandbox Code Playgroud)
预期输出:DEFG原始输出:DEFG
我的观察:对于每个偶数索引数字(如0,2,4 ..),它都可以正常工作,并且为诸如1,3,5 ..的奇数索引数填充空格。
有人可以帮我解决这个问题。
我正在尝试下面的代码.
from itertools import groupby
range_mod = ['P', 'P', 'P', 'P', 'N', 'N', 'N', 'N', 'P', 'P', 'P']
print(dict((i,len(list(j))) for i, j in groupby(range_mod)))
Run Code Online (Sandbox Code Playgroud)
注意:输出不必在Dict中
实际产量:
{'P': 3, 'N': 4}
Run Code Online (Sandbox Code Playgroud)
预期输出:我知道Dictionary不允许重复键.所以寻找其他选择
{'P': 4, 'N': 4, 'P' : 3}
Run Code Online (Sandbox Code Playgroud)
提前致谢.
python ×2
apache-spark ×1
hadoop ×1
hadoop-yarn ×1
hash ×1
hive ×1
pandas ×1
pyspark ×1
python-2.7 ×1
sasl ×1