Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
U-SQL+Python基本问题_Python_Azure Data Lake_U Sql - Fatal编程技术网

U-SQL+Python基本问题

U-SQL+Python基本问题,python,azure-data-lake,u-sql,Python,Azure Data Lake,U Sql,我刚刚开始学习如何将Python与U-SQL集成。我正在研究这个例子: REFERENCE ASSEMBLY [ExtPython]; DECLARE @myScript = @" def get_mentions(tweet):    return ';'.join( ( w[1:] for w in tweet.split() if w[0]=='@' ) ) def usqlml_main(df):    del df['time']    d

我刚刚开始学习如何将Python与U-SQL集成。我正在研究这个例子:

REFERENCE ASSEMBLY [ExtPython];

DECLARE @myScript = @"
def get_mentions(tweet):    
      return ';'.join( ( w[1:] for w in tweet.split() if w[0]=='@' ) )

def usqlml_main(df):    
      del df['time']    
      del df['author']    
      df['mentions'] = df.tweet.apply(get_mentions)    
      del df['tweet']    
      return df
";

@t  =     
SELECT * FROM        
(VALUES
           ("D1","T1","A1","@foo Hello World @bar"),
           ("D2","T2","A2","@baz Hello World @beer")
       ) AS
            D( date, time, author, tweet );
@m  =
    REDUCE @t ON date
    PRODUCE date string, mentions string
    USING new Extension.Python.Reducer(pyScript:@myScript);

OUTPUT @m
    TO "/tweetmentions.csv"
    USING Outputters.Csv();
在usqlml_main中,df.tweet.applyget_中提到的“apply”函数是什么

另外,REDUCE在这种情况下做什么?在将U-SQL与Python集成时总是需要这样做吗?

Q:usqlml\U main如何接受数据帧?Ddate、time、author、tweet是否正在构建一个数据帧? 当Extension.Python.Reducer使用行集@t时,这些行将被放置到数据帧中

问:在usqlml_main中,df.tweet.applyget_中提到的“apply”函数是什么? 这是在数据帧上定义的应用方法:

问:在这种情况下,REDUCE做了什么?在将U-SQL与Python集成时是否总是需要这样做? 需要减少。在这种情况下,其名称REDUCE具有误导性。在U-SQL/Python上下文中使用REDUCE的目的是,REDUCE用于根据来自特定列的键值将大量行分布到较小的分区中。在上面的示例中,它试图在日期列上进行分区。REDUCE并不意味着代码实际上必须返回一组减少的行。事实上,reduce可以返回更多的行。同样,它更多地是关于数据分区的。

Q:usqlml\u main如何接受数据帧?Ddate、time、author、tweet是否正在构建一个数据帧? 当Extension.Python.Reducer使用行集@t时,这些行将被放置到数据帧中

问:在usqlml_main中,df.tweet.applyget_中提到的“apply”函数是什么? 这是在数据帧上定义的应用方法:

问:在这种情况下,REDUCE做了什么?在将U-SQL与Python集成时是否总是需要这样做?
需要减少。在这种情况下,其名称REDUCE具有误导性。在U-SQL/Python上下文中使用REDUCE的目的是,REDUCE用于根据来自特定列的键值将大量行分布到较小的分区中。在上面的示例中,它试图在日期列上进行分区。REDUCE并不意味着代码实际上必须返回一组减少的行。事实上,reduce可以返回更多的行。同样,更多的是关于数据分区。

我使用U-SQL+Python进行文本处理。我已经将并行度设置为25,但在python代码执行时,只有一个顶点并行运行。有什么办法可以改进吗?在哪里可以找到关于如何实现并行性的详细信息?我正在使用U-SQL+Python进行文本处理。我已经将并行度设置为25,但在python代码执行时,只有一个顶点并行运行。有什么办法可以改进吗?在哪里可以找到有关如何实现并行性的详细信息?