Pular para o conteúdo principal

Postagens

Dica rápida: Convertendo tipo coluna pySpark

Quando realizamos consultas no pyspark muitas vezes nos deparamos com cenários onde o tipo de coluna do dataframe não é o esperado. Precisamos por exemplo fazer alguma operação de maior e menor, soma, média, porém o tipo do dado esta como string. Para contornar este cenário você pode realizar cast no tipo da coluna pySpark. Abaixo segue exemplo de como converter para inteiro; #lendo o arquivo csv spark = SparkSession . builder . getOrCreate() athlete_events_spark = (spark . read . csv( "athlete_events.csv" , header = True, inferSchema = True, escape = '"' )) #modificando tipo da coluna que era string para inteiro athlete_events_spark = (athlete_events_spark . withColumn( "Height" , athlete_events_spark . Height . cast( "integer" ))) #imprimindo resultados e realizando operações matemáticas print (athlete_events_spark
Postagens recentes

Migrando repositório TFS para GIT

Chega o momento em que decidimos migrar do TFS para GIT por 'N' motivos e benefícios que esta migração pode trazer. Caso você tenha uma repositório de longa data e queira manter o histórico de checkins, o  git-tfs auxilia nesta tarefa. Uma das minhas formas preferidas para instalar é através do chocolatey . Com o chocolatey instalado em sua máquina basta abrir o powershell em modo admin e digitar: cinst GitTfs No powershell para clonar o repositório TFS para seu repositório git você deve digitar o seguinte comando: git tfs clone http : //meutfs.com $/diretoriotfs c : /diretorio-alvo-clone --branches=all -u=CORP\Usuario -p=****** Para mais opções de comando segue link do github do projeto.

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

Ao definir um filtro em um array no python da forma como vemos na penúltima linha obtemos o erro do titulo deste post. import numpy as np porridge = np . array ([ 79 , 65 , 50 , 63 , 56 , 90 , 85 , 98 , 79 , 51 ]) cold = porridge [ porridge < 60 ] print ( cold ) hot = porridge [ porridge > 80 ] print ( hot ) just_right = porridge [ porridge > 60 and porridge < 80 ] print ( just_right ) O problema esta na tentativa de utilizar o and para concatenar condição no filtro do array numpy. Para solucionar você deve utilizar algum operador diferente que o próprio numpy fornece como o logical_and. import numpy as np porridge = np . array ([ 79 , 65 , 50 , 63 , 56 , 90 , 85 , 98 , 79 , 51 ]) cold = porridge [ porridge < 60 ] print ( cold ) hot = porridge [ porridge > 80 ] print ( hot ) just_right = porridge [ np . logical_and ( porridge > 60 , porridge < 80 )] print ( just_rig

DICA: Alterando tipo campo em coleção mongodb

Os campos de uma coleção no mongo possuem tipos. Para cada tipo existe uma numero que o identifica. Na documentação do mongodb é possível conferir a tabela de tipo. Caso você necessite alterar o tipo de um campo nos documentos de sua coleção, uma ideia poderia ser filtrar pelo campo que inda possui o tipo antigo e alterar para o novo. Como no exemplo abaixo alterando de string para int64. db . Frete . find ({ 'Modais' : { "$elemMatch" : { $type : 2 } }} ). forEach ( function ( planilha ){ var modais = []; for ( var i = 0 ; i < planilha . Modais . length ; i ++ ){ modais . push ( new NumberLong ( planilha . Modais [ i ])); } planilha . Modais = modais ; db . Frete . save ( planilha ); })

Dica: Comandos mongodb dump/restore

Olá Caso esteja necessitando realizar procedimento de dump e restore em base mongo e não sabe como realizar o comando no prompt de comando, nesta dica rápida deixo o código a seguir: mongodump - -host 192 . 169 . 0 . 100 - -port 27017 -d Ecommerce - -out C : \ Bkp-Mongo mongorestore -d Ecommerce - -port 27017 C : \ Bkp-Mongo \ Ecommerce O comando deve ser rodado a partir do diretório de instalação do mongo como por exemplo  C:\Program Files\MongoDB\Server\3.4\bin , caso não tenha declarado como path no seu sistema. Segue documentação para mais informações: Back Up and Restore with MongoDB Tools - Official Site

Criando testes em aplicação angular com Protractor

 Ao longo do desenvolvimento de sua aplicação fica cada vez mais difícil de testar todos os cenários possíveis conforme incluímos novas funcionalidades. Este é um velho assunto e mais uma vez a automação de testes esta ai para nos ajudar. Se você esta criando suas aplicações em angular e sente a necessidade de saber se as páginas funcionam conforme o esperado, é uma boa prática implementar os testes com o PROTRACTOR Quando você cria uma aplicação com angular cli , são incluídos os arquivos necessários para realizar testes automatizados com protractor. Estes arquivos podem ser encontrados no diretório e2e/src. Na pasta são encontrados arquivos de configuração do protractor e os arquivos iniciais para com os testes com código similar ao a seguir: Na construção dos testes você terá a disposição a união matadora do jasmine na parte de checagem com teste unitário e o selenium na parte de execução de navegador com teste de sistema. A organização de arquivos para tes

ERROR in ./node_modules/jszip/lib/readable-stream-browser.js

Recentemente tenho utilizado componentes DevExtreme da DevExpress em aplicações angular.  Ao instalar o DeveExtreme em aplicações angular na versão 6, uma das dependências chamadas jszip utilizada na exportação do grid pode apresentar um erro durante a build.  ERROR in ./node_modules/jszip/lib/readable-stream-browser.js Para resolver este problema você pode adicionar a dependência de pacote npm chama stream. npm i stream Após a instalação deste pacote tudo deve voltar ao normal. 😄