Как & lt; MyDataFrame & gt; GroupBy (& ldquo; Fields & rdquo;). Применить (Fn)? [Дубликат]

Поскольку вы используете Powershell v3, вы должны использовать Send-MailMessage вместо работы с System.Net.

$URLListFile = "C:\URLList.txt"  
$URLList = Get-Content $URLListFile -ErrorAction SilentlyContinue 
  $Result = @() 


  Foreach($Uri in $URLList) { 
  $time = try{ 
  $request = $null 

  $result1 = Measure-Command { $request = Invoke-WebRequest -Uri $uri } 
  $result1.TotalMilliSeconds 
  }  
  catch 
  { 

   $request = $_.Exception.Response 
   $time = -1 
  }   
  $result += [PSCustomObject] @{ 
  Time = Get-Date; 
  Uri = $uri; 
  StatusCode = [int] $request.StatusCode; 
  StatusDescription = $request.StatusDescription; 
  ResponseLength = $request.RawContentLength; 
  TimeTaken =  $time;  
  } 

} 

if($result -ne $null) 
{ 
    $Outputreport = "<HTML><TITLE>Website Report Status</TITLE><BODY background-color:peachpuff><font color =""#99000"" face=""Microsoft Tai le""><H2> Website Report Status </H2></font><Table border=1 cellpadding=0 cellspacing=0><TR bgcolor=gray align=center><TD><B>URL</B></TD><TD><B> Code </B></TD><TD><B> Status </B></TD><TD><B> Duration </B></TD><TD><B> MS (Ping) </B></TD</TR>" 
    Foreach($Entry in $Result) 
    { 
        if($Entry.StatusCode -ne "200") 
        { 
           $Outputreport += "<TR bgcolor=red>" 
        } 
        else 
        { 
            $Outputreport += "<TR>" 
        } 
        $Outputreport += "<TD>$($Entry.uri)</TD><TD align=center>$($Entry.StatusCode)</TD><TD align=center>$($Entry.StatusDescription)</TD><TD align=center>$($Entry.ResponseLength)</TD><TD align=center>$($Entry.timetaken)</TD></TR>" 
    } 
    $Outputreport += "</Table></BODY></HTML>" 
} 

$Outputreport | out-file C:\URLReport.htm 
Invoke-Item C:\URLReport.htm   

$EmailFrom = "noreply@domain.com"
$EmailTo = "destinyemail@domain.com"
$EmailSubject = "URL Report"
$emailbody = " body message "
$SMTPServer = "smtpserver.company.com"

$emailattachment = "C:\URLReport.htm"

Send-MailMessage -Port 587 -SmtpServer $SMTPServer -From $EmailFrom -To $EmailTo -Attachments $emailattachment -Subject $EmailSubject -Body $emailbody -Bodyashtml;
2
задан Sotos 28 June 2018 в 13:44
поделиться

1 ответ

pyarrow должен присутствовать в пути на каждом рабочем узле.

  • Если вы запустите этот код как отдельный узел, убедитесь, что PYSPARK_PYTHON (и необязательно его PYTHONPATH) совпадают с интерпретатором, который вы используете для проверки кода pyarrow.
  • Если вы используете кластер, убедитесь, что pyarrow установлен на каждом узле, дополнительно к указанным выше точкам.

Кроме того, убедитесь, что установленная версия pyarrow больше или равно минимальному, поддерживаемому ( 0,8 сегодня ) - хотя это должно вызвать другое исключение.

3
ответ дан user10006052 16 August 2018 в 03:46
поделиться
  • 1
    Спасибо за ваши усилия. Я на кластере, так что это может быть так. Я просто поговорил с разработчиком, который установил искру и др., И он не был уверен. Я оставлю этот вопрос открытым, пока не проверю его завтра. Если бы это было так, я отвечу на ваш ответ. – Sotos 28 June 2018 в 14:06
  • 2
    Я получаю ту же ошибку из интерактивной оболочки pyspark. Однако [pyspark всегда работает в режиме клиента] ( stackoverflow.com/questions/38384224/… ), то почему нам нужно, чтобы pyarrow был установлен на каждом узле? – user 923227 24 July 2018 в 22:22
Другие вопросы по тегам:

Похожие вопросы: